WO2002005500A1 - Method and apparatus for filtering messages within a computer network - Google Patents

Method and apparatus for filtering messages within a computer network Download PDF

Info

Publication number
WO2002005500A1
WO2002005500A1 PCT/GB2001/002104 GB0102104W WO0205500A1 WO 2002005500 A1 WO2002005500 A1 WO 2002005500A1 GB 0102104 W GB0102104 W GB 0102104W WO 0205500 A1 WO0205500 A1 WO 0205500A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
data
mail
messages
filtration
Prior art date
Application number
PCT/GB2001/002104
Other languages
French (fr)
Inventor
Andrew David Dwelly
David Charles Flett
Original Assignee
Anodyne Developments Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB0016832.8A external-priority patent/GB0016832D0/en
Application filed by Anodyne Developments Limited filed Critical Anodyne Developments Limited
Priority to AU2001254985A priority Critical patent/AU2001254985A1/en
Publication of WO2002005500A1 publication Critical patent/WO2002005500A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking

Definitions

  • the present application relates to a method and apparatus for filtering messages within a computer network.
  • Embodiments of the present invention concern the filtering of unwanted electronic mail messages sent across the Internet.
  • the Internet provides a very convenient way by which messages may be sent from one computer to another.
  • the convenience of e-mail has given rise to a new problem, the sending of multiple copies of unwanted messages as a form of advertising or solicitation.
  • sending multiple copies of an unwanted e-mail gives rise to problems for individuals who download the unwanted messages in the form of additional connection charges and time spent distinguishing useful messages from unwanted messages.
  • Multiple copies of unsolicited messages also present a problem for Internet service providers who are required to route and store the additional unwanted messages reducing available capacity for messages which individuals do wish to receive.
  • a problem with the mail filtering system proposed in US5999967 is that although the filtering system enables an individual to filter the e-mails that they receive, the system does not reduce the burden of sending and storing unsolicited e-mails on the Internet service providers who transmit and store the electronic messages for the recipients. Method and apparatus are therefore needed for filtering electronic messages in a way in which the transfer and storage of data by Internet service providers can be reduced.
  • a method of selectively transmitting electronic messages via a communications network comprising the steps of: storing data indicative of selection requirements for a user; receiving a message to be transferred to said user; and transferring a received message to said user via a communications network; characterised by determining whether a message to be transferred to an individual fulfils the stored requirements for transfer prior to transfer via said communications network to a desired destination, wherein messages not corresponding to said selection requirements are not transferred via said network.
  • a further problem with the mail filtering system of US 5999967 is that messages within the system are required to include specified attachments if they are to be received by their intended recipients.
  • the need to include an attachment within a message increases the size of messages and therefore places greater demands on the capacity of the communications network. There is therefore a need for a filtering system in which the size of message to be filtered is not increased.
  • a method of selectively transmitting electronic messages via a communications network comprising the steps of: storing condition data for desired destinations; generating an electronic message; determining identification data utilising said generated message; and storing said identification data in association with filtration data identifying filtration conditions for said message; wherein when said electronic message is dispatched to a desired destination, said electronic message is only transferred to a desired destination if said filtration data associated with said identification data for said message matches with said stored condition for said destination.
  • Figure 1 is a schematic block diagram of an embodiment of the present invention
  • Figure 2 is a schematic diagram of the content of the memory of a filter station
  • Figure 3 is a schematic block of an exemplary data structure for a user preference record
  • Figure 4 is a schematic block diagram of an exemplary data structure for a filter record
  • Figure 5 is an exemplary data structure of a filter station record
  • Figure 6 is a schematic block diagram of the content of the memory of a mail preference server
  • Figure 7 is a schematic block diagram of an exemplary data structure of a record within a user database
  • Figure 8 is a schematic block diagram of an exemplary data structure of a record within a condition database
  • Figure 9 is a flow diagram of the processing of a preference input module
  • Figure 10 is an illustration of an exemplary user input interface for inputting user preference data
  • Figure 11 is a flow diagram of the processing of a condition input module
  • Figure 12 is an illustration of an exemplary user input interface for inputting condition data
  • Figures 13A and 13B are a flow diagram of the processing of a filtering module of a relay station.
  • Figure 14 is a flow diagram of the processing of the processing module.
  • FIG. 1 is a schematic block diagram of a computer network embodying the present invention.
  • a plurality of user stations 1-3 are connected to the Internet 4 via a plurality of Internet service providers mail transfer agents 5-7, each of the mail transfer agents 5-7 comprising conventional servers having stored thereon conventional software for coordinating the storage and forwarding of electronic messages.
  • the filter stations 8,9 are also connected to the Internet 4.
  • an MX record database server 10 for converting e-mail addresses into address data for directing messages via the Internet 4 and a mail preference server 12.
  • the mail preference server 12 provides means by which users can input personalised rules to dictate which electronic mails are transferred to the mail transfer agents 5-6, used to store messages as will be described in detail later.
  • the Internet service provider mail transfer agents 5-7 are permanently connected to the Internet.
  • the mail transfer agents 5-7 are each arranged upon receipt of a message to forward the message in a conventional manner utilizing a SMTP (Simple Mail Transfer Protocol) system.
  • the mail transfer agents 5-7 are also arranged to store messages destined for user stations 1-3 which are not permanently connected to the mail transfer agents 5-7 utilizing a conventional transfer system such as a POP (Post Office Protocol) or an IMAP (Internet Mail Access Protocol) transfer system.
  • POP Post Office Protocol
  • IMAP Internet Mail Access Protocol
  • the domain name of the destination address is utilized by the mail transfer agents 5-7 to which the user station a sender of a message is connected to determine an address for the mail transfer agent to which the message must be routed to for storage prior to collection when a user station 1,2,3 which is the ultimate destination connects to the mail transfer agent 5-7.
  • This is achieved in a conventional manner by the mail transfer agent 5-7 to which the user station of a sender of a message is connected interrogating the MX record database 10 to obtain address data for the mail transfer agent 5-7 to which a recipient's user station will connect.
  • the message is then routed to the recipient's mail transfer agent utilizing the obtained address.
  • a user in use, when a user wishes to pass a message via the Internet 4 after a message has been entered via a user station 1-3, it is transferred to the associated Internet service provider mail transfer agent 5-7 to which the user station 1-3 is connected in a conventional manner.
  • the Internet service provider mail transfer agent 5,6 is connected to a filter station 8,9
  • the Internet service provider mail transfer agent then automatically transfers the message to its associated filter station 8,9.
  • the filter station 8,9 determines whether the intended ultimate destination for a message requires routing the message to a mail transfer agent 5,6 connected to another filter station 8,9. If this is the case the filter station 8,9 prior to transferring the message, determines whether the message fulfils a pre- stored set of rules obtained from the filter station 8,9 to which the intended destination mail transfer agent 5,6 is connected. Only if the message does fulfil the rules for transferring a message is the message then sent via the Internet 4 from the filter station 8,9 to the destination mail transfer agent.
  • the mail transfer agent 7 processes the received message in a conventional manner by interrogating the MX record database 10 to convert the destination address for the message into a corresponding address for routing via the Internet 4.
  • the MX record database entry within the MX record database 10 for Internet service provider mail transfer agents 5,6 which are connected to filter stations 8,9 are all amended so that messages intended for the Internet service provider mail transfer agents 5,6 are routed to the filter station 8,9 connected to the Internet service provider mail transfer agents 5,6 rather than the mail transfer agents 5,6 themselves.
  • the filter station 8,9 determines whether the received message fulfils the pre-stored rules for the user station 1,2 for which a message is intended and only if the message fulfils the requirements corresponding to the pre-stored rules for a user is the message then transferred via the dedicated communications link to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected.
  • the filter station 8,9 sends a message to the user station 1,3 from which the original message had been input to inform the sender of the message why the original message has not been delivered.
  • the Internet service provider mail transfer agent 5,6 for the user station 1,2 does not have to store the unwanted messages and when a user accesses the messages stored by the Internet service provider mail transfer agent 5,6 on their behalf, the user will not download or have to read any of the unwanted messages. Furthermore, where a message is to be sent between two mail transfer agents 5,6 both of which are linked to filter stations 8,9 by arranging data identifying rules for filtering messages to be smaller than most messages and transferring data identifying rules rather than transferring messages the total amount of data transferred via the Internet can also be reduced.
  • the mail preference server 12 in addition to providing means for enabling rules for filtering electronic mails to be personalised, the mail preference server 12 enables senders of messages to identify a charge they are prepared to pay for having a message delivered. By enabling some of the pre-stored rules for filtering messages to be dependent upon confirmation that a acceptance of charge has occurred a means is provided by which the costs of accepting unsolicited messages can be passed on to the sender of a message rather than being borne by the receiver of a message, in the form of extra connection charges.
  • FIG. 2 is a block diagram of the content of the memory of a filter station 8,9.
  • a filter station 8 , 9 has stored in its memory a user preference database 20 for storing data indicative of the rules for transferring messages to user stations 2,3 connected to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected; filter station records 22 for identifying Internet service provider mail transfer agents 5,6 that are connected to filter stations 8,9 as will be described in detail later; a filtering module 24 for determining which messages received by the filter station 8,9 should be passed to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected; a transfer module 26 for transferring copies of records identifying a user's requirements for filtering mail from one filter station 8,9 to another filter station 8,9; a preference cache 28 for storing user preferences received from other filter stations 8,9; and an SMTP (simple mail transfer protocol) mail transfer agent module 29 for transferring received electronic messages in a conventional manner.
  • SMTP simple mail transfer protocol
  • FIG. 3 is a block diagram of an exemplary data structure for records stored within the user preference database in the memories of the filter stations 8,9.
  • Each of the user preference records identifies a set of rules for filtering messages on behalf of a specified user.
  • the records within the user preference database comprise a user address 30 corresponding to the e-mail address of a user station 1,2 which may be connected to the Internet service provider mail transfer agents 5,6 to which the filter station 8,9 is attached and a plurality of filter records 32 and a default filter record 34.
  • the filter records 32 each contain data identifying the requirements that a user has for receiving a message from identified e-mail addresses.
  • the default record 34 provides a record containing data identifying the requirements a user has for all other e- mail addresses.
  • the user preference database 20 provides a means by which user preferences for e-mail originating from different e-mail addresses can be filtered and associates the requirements for filtering of messages with the e-mail address to which a message is being sent.
  • FIG. 4 is a block diagram of an exemplary data structure for filter records 32 and the default records 34 within a user preference record in the user preference database 20 stored within the memory of a filter station 8,9.
  • each of the filter records 32, and the default records 34 comprises an e-mail address 35 to which the rule within the record is to be applied; a value 37; an included key word list 39, an excluded key word list 41 and a requirement attachment field 43.
  • the e-mail address may be a complete e-mail address or a partial e-mail address identifying either an intended recipient or a server to which a recipient may be connected.
  • the e-mail address 35 comprises a dummy address applicable to all e-mails.
  • the value field 37 identifies a cost which is to be associated with a received message transferred to the Internet service provider mail transfer agent for an individual.
  • the included key word list and excluded key word list 39,41 comprise a list of words which are either to be included or not to be included within messages which a user is to receive and in a required attachment field 43 identifies attachments which are to be required for a message to be passed to the Internet service provider mail transfer agent for a specified user station, received from an associated e- mail address 35.
  • a user preference record is stored within the filter station 8,9 connected to the Internet service provider mail transfer agent 5,6.
  • these user records comprise a single default record 34 arranged to impose no restriction upon the transfer of messages from the Internet 4 to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is attached.
  • users may access the mail preference server 12 via the Internet 4 to alter the user preference record having a user address 30 corresponding to their e-mail address. This enables a user to cause to be stored within a filter station 9 a personalised set of filter records 32 and a default record 34 identifying requirements for e-mail messages which are to be transferred to them.
  • Table 1 is an exemplary set of user preference records 32 and a default record 34 for a user address. TABLE 1
  • the user can define requirements for e-mail messages that they are to receive.
  • records 1 and 2 identify that no restriction is to be based upon e-mails received from the addresses: iohndhere . com or bob@there . co .uk.
  • Record 3 identifies that all records from the server shop.com are to be routed to the user provided the message includes the word receipt.
  • Record 4 identifies that any message received from nick@work.co.uk is only to be transferred to the user if a value of 10 is associated with the message and the e-mail does not include the word 'patent.
  • Record 5 is a default record 34 having a dummy address *@* which identifies that for all remaining addresses messages are only to be routed to the user if a value of 5 is associated with the message.
  • the mail preference server 12 enables data to be entered which identifies a value to be associated with a message as will be described in detail later.
  • FIG. 5 is a block diagram of an exemplary data structure for a record within the set of filter station records 22 stored within the memory a filter station 8,9.
  • a filter station record comprises a domain name 50 identifying the domain name within an e-mail address of an Internet service provider mail transfer agent 5,6 to which a filter station 8,9 is connected.
  • the filter station record 22 also comprises a filter station address 52 being address data identifying a filter station 8,9 being a filter station 8,9 connected to an Internet service provider mail station 5,6 identified by the domain name 50 and an ISP address 54 being an address for the Internet service provider mail transfer agent 5,6 identified by the domain name 50.
  • the records within the filter station records 22 in the memory of each of the filter stations 8,9 provide means by which addresses of filter stations 8,9 connected to intended destinations of messages may be determined from destination address domain name data within an e-mail without the need to access such data from the MX record database 10 via the Internet and further provides means by which addresses for Internet service providers mail transfer agents 5 , 6 may also be identified directly from the destination address domain name data included within an e-mail message .
  • FIG. 6 is a schematic block diagram of the content of the memory of the mail preference server 12 in accordance with this embodiment of the present invention.
  • the mail preference server 12 in this embodiment of the present invention enables individuals to amend the user preference records associated with their e-mail addresses in order to select which e-mails are to be sent to them.
  • the mail preference server 12 in this embodiment also enables senders of messages to associate the value with a message which they wish to have delivered.
  • the mail preference server 12 has stored within its memory an administration module 60; a preference input module 62 enabling users to alter the preferences for the manner in which the filter stations 8,9 filter e-mails on their behalf; a condition input module 64 for enabling senders of messages to input data indicating the conditions and values they accept for having their messages forwarded to other users; a redemption module 68; a user database 70 for storing data associating e-mail addresses with contact details and values resulting from the acceptance of messages; a condition database 72 indicating how different messages are to be associated with values; and a processing module 74 for processing requests received from filter stations 8,9 to establish whether the condition database 72 indicates that a message received by a filter station 8,9 is associated with the stored values as will be described in detail later.
  • Figure 7 is a schematic block diagram of a data structure for a user record stored within the user database 70 of the mail preference server 12.
  • the user records within the user database 70 each comprise a user address 80 being the e-mail address of a user; authentication data 82 being a password for accessing and amending records within the user database 70 as will be described in detail later; contact details data being the name and address of a user having an e-mail address indicated by the user address 80 of the record and current value data 86 indicative of the amount of money senders have accepted is to be paid to a user for receiving messages sent by them.
  • Figure 8 is a schematic block diagram of an exemplary data structure for records within the condition database 72 of the mail preference server 12.
  • the condition records within the condition record database 72 each comprise an identification number 90; authentication data 92, contact details 93, value per copy data 94, an expiry date 95 and a single message hash (SMH) number 96 being a number generated by processing the text of a message as will be described in detail later, an authorised flag field 97 and a current value 98.
  • SSH single message hash
  • a sender can access the mail preference server 12. Utilizing the condition input module 64 the sender may then generate a condition record which is stored within the condition database 72.
  • the condition record identifies for that sender and a message input by the sender an SMH number 96 which is associated with data indicating the value 94 the sender accepts to pay for a copy of the message to be received.
  • the administration module 60 enables the content of the condition database 72 to be amended to set the authorised flag 97 of the record within the condition database 72 to active.
  • the redemption module 68 can then be utilised to output the current value data 86 and contact details 84 associated with a user and then reset the current value data 86 to zero. A payment based upon the output value data could then be sent to the user utilising the contact details thereby providing a user with a payment for receiving unsolicited messages.
  • the preference input module 62 is a program enabling a user to input and amend data identifying the user's requirements for filtering electronic messages which are to be sent to them.
  • a user wishes to amend a filter record 32 or default record 34 that stored within a filter station 8,9 in a user preference database 20 within a user preference record having a user address 30 corresponding to the user's e-mail address, the user accesses the mail preference server 12 via the Internet 4.
  • FIG. 9 is a flow diagram of the processing of the preference input module 62 when the user accesses the mail preference server 12 the preference input module 62 initially (SI) dispatches to the user station 1,2 a user input interface requesting that the user enter their password and e-mail address.
  • the preference input module 60 determines that the received password and e-mail address correspond to authentication data 82 and user address 80 within the user database 70 the preference input module 60 then (S5) sends a request to the relay station 8,9 connected to the Internet service provider mail server 5,6 to which the user station 1,2 is connected to send to the mail preference server 12 a copy of the user preference record stored in the user preference database where the user address 30 corresponds to the received e-mail address.
  • S5 sends a request to the relay station 8,9 connected to the Internet service provider mail server 5,6 to which the user station 1,2 is connected to send to the mail preference server 12 a copy of the user preference record stored in the user preference database where the user address 30 corresponds to the received e-mail address.
  • S7 the memory of the mail preference server 12.
  • the preference input module 62 then (S9) dispatches to the user station 2 a preference entry screen for enabling a user to alter the user preference record.
  • FIG 10 is an exemplary illustration of a user preference entry screen in accordance with this embodiment of the present invention.
  • the preference entry screen comprises a name entry window 100 below which appears an address entry window 102 and a filter entry window 104. Displayed within the filter entry window 104 are copies of the values 37, addresses 35 and restrictions 39-43 of filter records 32 and the default record 34 retrieved from the filter station 8,9. Beneath the filter entry window 104 are displayed an enter button 106 an end button 108 and a pointer 110 that is controlled by a user input device attached to the user station 1,2 such as a mouse (not shown).
  • a user may select the name window 100 the address window 102 or the filter entry window 104 using the pointer 110. After either the name window 100 address window 102 or filter entry window 104 have been selected these may enter using a keyboard (not shown) data which is then displayed within the selected window. If the user selects the enter button 106 a copy of the data displayed within the name window 100, address window 102 and filter entry window 104 is dispatched to the mail preference server 12.
  • the preference input module 62 determines (Sll) that a new set of preferences have been received from a user station the preference input module 62 then causes (sl2) the copy of the user preference record stored within the memory of the mail preference server to be updated so that the filter records 32 and default record 34 stored in the memory correspond to the data displayed within the filter entry window 104 and the contact details 84 for the user correspond to the name and address data 100,102 displayed within the name window and address window 100,102 respectively. If the user selects the end button 108 using the pointer 110 a message is then dispatched from the user station 1,2 via the Internet 4 to the mail preference server 12 which is detected by the preference input module.
  • the preference input module When an end signal is detected (S13) the preference input module then causes a copy of the user preference record stored in the memory to be dispatched to the filter station 8,9 from which the user preference record was originally copied which is then used to replace the earlier user preference record.
  • the filter station 89 When an end signal is detected (S13) the preference input module then causes a copy of the user preference record stored in the memory to be dispatched to the filter station 8,9 from which the user preference record was originally copied which is then used to replace the earlier user preference record.
  • condition input module 64 provides a means by which an individual who wishes to send a message via the Internet to an address that is directed via a filter station 8,9 may associate a value with that message.
  • FIG 11 is a flow diagram of the processing of the condition input module 64, initially when a sender of a message wishes to associate a value with that message the sender accesses the mail preference over 12 via the Internet 4. This causes the mail preference server 12 to invoke the condition input module 64 which generates and dispatches (s20) a condition input interface to the user station of the sender of the message .
  • FIG 12 is an exemplary illustration of a condition input inter ace in accordance with this embodiment of the present invention.
  • the condition input interface comprises a name entry window 200 beneath which is displayed an address entry window 202, a password entry window 204, a text entry window 206, a number entry window 208, a value window 210 and an expiry date entry window 212. Beneath the expiry window 212 are also displayed a next button 214 and a done button 216.
  • a pointer 218 is also displayed as part of the interface for the point of being under the control of the mouse or other user input device attached to the user section (not shown) .
  • a user may select any of the windows 200-212 of the condition input display.
  • a window is selected a user may then enter data via the keyboard (not shown) which is then displayed in the window 200-212.
  • the next button 214 this causes a copy of all the data displayed in the windows 200-212 to be dispatched from the user station on 1,2,3 to the mail preference server where it is processed by the condition input module 64. If the users select the done button a signal is sent to the mail preference serve 12 via the Internet indicating that the input of data by the user has ended.
  • condition input module 64 then waits to receive further signals from the user station to which the input interface has been dispatched. If the mail preference server receives (s22) data from the user station corresponding to entries within the name, address, password, text, number, value and expiry windows 200-212 in the condition input interface the condition input module 64 then (s24) generates and stores an additional record within the condition database.
  • the new condition record comprises a newly generated identification number 90, authentication data 92 corresponding to the data entered within the password window 204, contact details 93 corresponding to the name and address entered in the name and address windows 200-212 a value per copy 94 corresponding to a value entered within the value window 210 divided by the number entered within the number window 208 of the condition input interface; an expiry date 95 corresponding to the entry within the expiry window 212 and an SMH number being a code number generated by processing the text within the text window 206 for example by using such algorithms as MD5, SHA or RIPE-MD; an authorised flag 97 having status indicated as inactive and a current value 98 corresponding to the value within the value window 210.
  • a fresh condition entry interface is then dispatched (s20) to the user station for entry of further conditions which is processed in a similar way (s22-s24).
  • the mail preference server receives from a user station a signal indicating that the done button 216 has been selected the processing of the condition input module 64 comes to an end.
  • condition input module 64 By providing a condition input module 64 by which text messages 206 may be converted to a code number 96, a means is provided by which the messages corresponding to the text 206 may be identified at a later date.
  • the condition input module enable values to be associated with the text within a message.
  • an authorised flag 97 the association of a value with a message may be made dependent upon an external condition such as payment of a fee.
  • the administration module 60 may then be used to alter the status of the authorised flag 97 for a user identified by the contact details 93 for a record thus obliging a sender of a message to pay for the value 94 which is to be associated with those messages.
  • the filtering module waits for receipt of an e-mail message.
  • an e-mail is received by a filter station 8,9 either by being transferred by the dedicated connection from the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected or from the Internet 4; a the filtering module 24 then (s32) extracts from the e-mail the destination address that the e-mail is intended for.
  • the filtering module 24 determines whether the destination address corresponds to the domain name for the Internet service provider mail transfer agent 5 , 6 to which the filter station 8,9 is connected. This will always be the case when a message has been routed to the filter station via the Internet 4 and will also occur when a user station sends a message to another user station that is to be connected to the same Internet service provider mail transfer agent. If the destination address of the received message does correspond to the Internet service provider mail transfer agent address the filtering module then proceeds to determine (s46 - s56) whether the message should be passed on to the Internet service provider mail transfer agent 5,6 to which it is connected as will be described in detail later.
  • the filtering module 24 determines (s36) whether the domain name of the destination for the message corresponds to a domain name of a mail transfer agent which is attached to another filter station 8,9. This is achieved in this embodiment by the filtering module 24 interrogating the filter stations records 22 to identify whether the domain name for the destination address corresponds to any of the domain names 50 of the filter station records 22 in memory. If this not the case the filter station then transfers the message in a conventional manner to the Internet service provider mail transfer agent 7 in a conventional manner (s56) by interrogating the MX record database 10 utilising the domain name for the message to obtain address data for sending the message and then transferring the message via the Internet 4.
  • the filtering module 24 determines that the destination domain name for a message does correspond to a domain name 50 of one of the filter station records 22 the filtering module 24 stores in memory the filter station address 52 and the Internet mail transfer agent address 54 for use later.
  • the filter module 24 determines whether the preference cache 28 has stored therein a user record having a user address 30 corresponding to the intended destination for the received message. If this is the case the filtering module 24 proceeds to utilise the stored user preference to determine (s46 - s56) whether or not the message is to be transferred to the requested destination as will be described in detail later.
  • the filtering module 24 then sends a request to the filter station that is connected to the Internet service provider mail server 5,6 that the message is to be transferred to utilising the address for the filter station 52 stored in memory.
  • This message comprises a request for the other filter station to output to the first filter station a copy of the user preference record corresponding to the user address 30 of the message that has been received by the first new filter station. This request is then processed by the transfer module 26 of the other filter station.
  • the filter station 8,9 then waits (s42) until a copy of the user record has been received from the other filter station. The copy is then stored in the preference cache 28. The filter module 24 then proceeds to determine whether or not the message should be transferred to the identified Internet service provider mail transfer agent 5,6 utilising the received user preference record.
  • the filtering module 24 After either a new copy of a user preference record has been stored in the preference cache or the filtering module 24 has determined that either a user preference record for the requested destination for a message is stored in the user preference database 20 or already stored in the user preference cache 28 the filtering module 24 then determines which of the filter records 32,34 associated with a user address 30 corresponding to the destination address for the message to be transferred corresponds to the origin address for the message received by the filter station 8.
  • At least one filter record 32,34 will correspond to the origin address for a message as each user preference record includes a default record 34 to be applied to all messages for which no other filter record 32 is applicable.
  • the filtering module 24 determines which filter record has an e-mail address 35 corresponding to the e-mail address of the origin of the message which has been received the filtering module 24 then determines whether the message fulfills the filter requirements corresponding to the included and excluded keyword lists 39,41 and required attachments 43. If the content of the message does not fulfill the conditions identified by the user preference record for the destination of the message, the message is not forwarded, instead a message is dispatched (s52) back to the sender as will be described in detail later.
  • the filtering module determines whether the value 37 associated with the record for the origin of the message is equal to zero (s46) .
  • the filtering module 24 then proceeds to calculate an SMH number being a code number calculated in the same way in which a code number is calculated from the content of a message by the condition input module 64 of e-mail preference server 12. This number is then dispatched together with the destination address for the received message and the required value as indicated by the value field 37 for the filter record which is to be applied to the received message to the mail preference server 12 which processes the data to identify whether any conditions within the condition database 72 correspond to the code number for the message as will now be described.
  • Figure 14 is a flow diagram of the processing of a processing module 74 of the mail preference server 12.
  • the processing module 74 is invoked when a message (s60) is received from a filter station 8,9.
  • the processing module 74 determines (s62) whether any condition record stored within the condition database 72 has an SMH number 96 corresponding to the SMH number received as part of the query from the filter station 8,9.
  • the processing module 74 determines firstly whether the condition record is active as is indicated by the authorised flag 97 and whether or not the expiry date 95 has been exceeded and then determines whether the value per copy 94 exceeds the required value as included in the message received from the filter station 8,9. If this is the case provided that the current value 98 associated with a new record exceeds the value per copy 94 this indicates that the sender has associated a value with the message in excess of the receiver's requirement and has paid enough money for the message to be transmitted to the receiver.
  • the processing module 74 proceeds to dispatch (s65) a message to the filter station 8,9 from which a query had previously been received indicating that the user's requirements are not fulfilled.
  • condition database 72 If a condition record fulfilling all the user's requirement is determined to be stored within the condition database 72 the processing module 74 proceeds to (s66) alter the condition record by decrementing the current value 98 by the value per copy 94 and incrementing the current value 86 of the user database 70 corresponding to the user address 80 for the intended recipient of the message by the value per copy 94. The processing module 74 then causes a message (s68) to be dispatched back to the transfer filter station 8,9 indicating that the condition set by user with regards to value have been fulfilled.
  • the result of the processing by the mail preference server is then received by the filter station 8,9 in the form of a message indicating either the value conditions are or are not fulfilled for that message.
  • the filtering module then utilises the received data (s50) and if the value conditions are not fulfilled (s52) sends a message back to the senders address for the received message informing the sender of the message the value condition that they have failed to fulfil (s52).
  • the filtering module 24 utilises the address for the Internet service provider mail server (s54) stored in memory to associate that address with the message and then invokes the SMTP (simple mail transfer protocol) mail transfer agent module 29 to cause the message to be transferred to the Internet service provider mail transfer agent for the user station for which the message is intended either via the dedicated connection or via the Internet 4 in a conventional manner.
  • SMTP simple mail transfer protocol
  • a system has been described in which copies of user records are transmitted across the network so that a filter station 8; 9 which is routing a message and which does not have a stored user record for an address can determine whether or not a message is to be forwarded.
  • a problem with such a system is that as the user records are transmitted around the network, they could be intercepted and the information contained within the user record could be used to determine e-mail addresses 35 associated with zero values 37. Once e-mail addresses 35 associated with zero values 37 have been identified e-mail messages could be sent to users which avoid being filtered by incorporating the identified address data 35 as origin data for the messages.
  • a system could be provided which transmits only partial user records. Specifically, instead of requesting and receiving a complete user record incorporating the user address 30 corresponding to the destination address of a message, a partial record identifying the filter for a specific message could be dispatched.
  • the other filter stations 8,9 could then be arranged to determine the value appropriate for the receipt of a message from the received origin address and destination address by matching an origin address to a filter record 32,34 in the user record having the destination address as a user address 30.
  • the filter stations 8, 9 would then be arranged to output a partial user record incorporating the origin address and a value 37 determined as a result of the match.
  • the filter stations 8,9 could be arranged to dispatch requests including the destination address and the above origin address and receive in response single filter record:
  • filtering is achieved with the transmission of less data across the network as a user record including only a single filter record 32 is dispatched each time a user record is requested from another filter station 8,9.
  • a preference input module 62 is provided centrally at the mail preference server 12 accessible by the user stations 1-3 via the Internet 4. It will be appreciated that separate preference input modules 62 could be provided on each of the filter stations 8,9 with each of the user station 1;2 accessing a preference input module 62 stored on a filter station 8 attached to the Internet service provider mail transfer agent 5,6 which the user station 1;2 utilises to access the Internet 4.
  • value data for filtering messages has been described in which users are credited and paid for messages received, it will be appreciated that value data could identify a negative value indicative of a user making a payment to receive messages from a specified origin.
  • mail preference server 12 could be modified to enable users to input values identifying the amounts they wish to spend to receive messages and to enable senders of messages to receive credit for sending a message.
  • the filtration data could itself comprise an executable program for processing a message to be filtered.
  • filter stations 8,9 could be arranged to transmit query data via the Internet 4 to a mail transfer agent or filter station 5-9 identified as a destination for a message, to request that the destination server outputs data identifying whether the server has stored thereon filter records for filtering messages. If this is the case, then a further query could be output requesting the filter station transmits a copy of the filter record for the final destination address for a message to be forwarded.
  • filter records 32 are utilized to select messages for forwarding and to impose costs upon senders of multiple copies of unsolicited messages
  • other applications may be made of filters associating required values with messages.
  • the conventional reply to function identified in the RFC822 Internet standard could be utilized to effect such a conditional transfer of value.
  • a means is provided to indicate to the system value is only to be released upon receipt of a reply to the message.
  • the filter station 8 , 9 could store data identifying an amount to be released upon reply and the sender's address and the recipient's address.
  • a reply to address Prior to forwarding the message, a reply to address could then be incorporated into the message being forwarded.
  • the received message Upon receipt of a reply from the recipient address at the reply to address, the received message could then be forwarded to the sender with the value being credited to the recipient's account only when such a reply has been forwarded .
  • a filter station 8,9 can be provided which removes the replier's address before forwarding a reply message.
  • a means is then provided to cause an account to be updated by the value associated with a message for which a reply is required without the initial sender knowing the identity of the replier.
  • a monitoring module could be provided on the user's computer to identify the e-mail addresses within the address book.
  • Filter records 32 associating the e-mail addresses 35 of the addresses within the address book with a value 37 of zero could then be automatically generated and stored on a filter station 8,9 in association with the user's e-mail address 30.
  • filter records 32 for a user could be set up automatically so that the user is able to receive messages from all of the individuals identified within their address book, without any values being associated with those messages.
  • the monitoring program could be arranged to detect whenever a user sends a message to a new e-mail address, and if this is the case to generate a new filter record 32 associating that new e-mail address 35 with a zero value. hen the filter record 32 was then included in the appropriate user preference record, the filter record 32 would then be such as to permit a reply received from the new e-mail address to be transferred back to the user without any value being associated with the reply.
  • the embodiments of the invention described with reference to the drawings comprise computer apparatus and processes performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice.
  • the program may be in the form of source or object code or in any other form suitable for use in the implementation of the processes according to the invention.
  • the carrier be any entity or device capable of carrying the program.
  • the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • a storage medium such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk.
  • the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
  • the carrier When a program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
  • the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

Abstract

A computer network is provided comprising a plurality of user stations (1-3); a plurality of mail servers (5-9) and a communications network (4) for transmitting messages between the mail servers (5-9) and the user stations (1-3). Some of the mail servers (8;9) have stored therein filtration data for selecting messages to be transmitted to each of a number of identified user stations (1;2). These mail servers (8;9) are arranged upon receipt of a message for transmission via the communication network (4) to a user station (1;2) for which filtration data is stored to utilize the filtration data to determine whether or not to transmit a received message.

Description

METHOD AND APPARATUS FOR FILTERING MESSAGES WITHIN A COMPUTER NETWORK
The present application relates to a method and apparatus for filtering messages within a computer network. Embodiments of the present invention concern the filtering of unwanted electronic mail messages sent across the Internet.
The Internet provides a very convenient way by which messages may be sent from one computer to another. The convenience of e-mail has given rise to a new problem, the sending of multiple copies of unwanted messages as a form of advertising or solicitation. Although it is relatively easy to generate and send multiple copies of an e-mail, sending multiple copies of an unwanted e-mail gives rise to problems for individuals who download the unwanted messages in the form of additional connection charges and time spent distinguishing useful messages from unwanted messages. Multiple copies of unsolicited messages also present a problem for Internet service providers who are required to route and store the additional unwanted messages reducing available capacity for messages which individuals do wish to receive.
In order to overcome the problem of multiple copies of unwanted e-mail messages, a number of electronic mail filters have been proposed. An example of an electronic mail filter is described in US5999967, which discloses a system for filtering electronic mail messages based upon required attachments to messages. In the proposed system, after a message is sent to an individual via a communications network, messages are then filtered depending upon the content of attachments associated with the messages. By requiring a message to be associated with a specified attachment and charging for the generation of such an attachment a means is provided by which additional charges can be levied for sending multiple copies of an e-mail thereby dissuading the practice of sending large numbers of multiple copies of unsolicited messages to random individuals.
A problem with the mail filtering system proposed in US5999967 is that although the filtering system enables an individual to filter the e-mails that they receive, the system does not reduce the burden of sending and storing unsolicited e-mails on the Internet service providers who transmit and store the electronic messages for the recipients. Method and apparatus are therefore needed for filtering electronic messages in a way in which the transfer and storage of data by Internet service providers can be reduced.
In accordance with one aspect of the present invention, there is provided a method of selectively transmitting electronic messages via a communications network comprising the steps of: storing data indicative of selection requirements for a user; receiving a message to be transferred to said user; and transferring a received message to said user via a communications network; characterised by determining whether a message to be transferred to an individual fulfils the stored requirements for transfer prior to transfer via said communications network to a desired destination, wherein messages not corresponding to said selection requirements are not transferred via said network.
A further problem with the mail filtering system of US 5999967, is that messages within the system are required to include specified attachments if they are to be received by their intended recipients. The need to include an attachment within a message increases the size of messages and therefore places greater demands on the capacity of the communications network. There is therefore a need for a filtering system in which the size of message to be filtered is not increased.
In accordance with this aspect of the present invention, there is provided a method of selectively transmitting electronic messages via a communications network comprising the steps of: storing condition data for desired destinations; generating an electronic message; determining identification data utilising said generated message; and storing said identification data in association with filtration data identifying filtration conditions for said message; wherein when said electronic message is dispatched to a desired destination, said electronic message is only transferred to a desired destination if said filtration data associated with said identification data for said message matches with said stored condition for said destination.
Further aspects and embodiments of the present invention will now be apparent with reference to the accompanying drawings, in which:
Figure 1 is a schematic block diagram of an embodiment of the present invention;
Figure 2 is a schematic diagram of the content of the memory of a filter station;
Figure 3 is a schematic block of an exemplary data structure for a user preference record;
Figure 4 is a schematic block diagram of an exemplary data structure for a filter record;
Figure 5 is an exemplary data structure of a filter station record;
Figure 6 is a schematic block diagram of the content of the memory of a mail preference server;
Figure 7 is a schematic block diagram of an exemplary data structure of a record within a user database;
Figure 8 is a schematic block diagram of an exemplary data structure of a record within a condition database;
Figure 9 is a flow diagram of the processing of a preference input module;
Figure 10 is an illustration of an exemplary user input interface for inputting user preference data;
Figure 11 is a flow diagram of the processing of a condition input module;
Figure 12 is an illustration of an exemplary user input interface for inputting condition data;
Figures 13A and 13B are a flow diagram of the processing of a filtering module of a relay station; and
Figure 14 is a flow diagram of the processing of the processing module.
Figure 1 is a schematic block diagram of a computer network embodying the present invention. In accordance with this embodiment of the present invention a plurality of user stations 1-3 are connected to the Internet 4 via a plurality of Internet service providers mail transfer agents 5-7, each of the mail transfer agents 5-7 comprising conventional servers having stored thereon conventional software for coordinating the storage and forwarding of electronic messages. Connected to some 5,6 of the Internet service provider mail transfer agents via dedicated communication lines are filter stations 8,9. The filter stations 8,9 are also connected to the Internet 4. Also connected to the Internet 4 is an MX record database server 10 for converting e-mail addresses into address data for directing messages via the Internet 4 and a mail preference server 12. In this embodiment of the present invention, the mail preference server 12, provides means by which users can input personalised rules to dictate which electronic mails are transferred to the mail transfer agents 5-6, used to store messages as will be described in detail later.
As in a conventional Internet system, the Internet service provider mail transfer agents 5-7 are permanently connected to the Internet. The mail transfer agents 5-7 are each arranged upon receipt of a message to forward the message in a conventional manner utilizing a SMTP (Simple Mail Transfer Protocol) system. The mail transfer agents 5-7 are also arranged to store messages destined for user stations 1-3 which are not permanently connected to the mail transfer agents 5-7 utilizing a conventional transfer system such as a POP (Post Office Protocol) or an IMAP (Internet Mail Access Protocol) transfer system.
When a message is to be sent via the Internet, initially the domain name of the destination address is utilized by the mail transfer agents 5-7 to which the user station a sender of a message is connected to determine an address for the mail transfer agent to which the message must be routed to for storage prior to collection when a user station 1,2,3 which is the ultimate destination connects to the mail transfer agent 5-7. This is achieved in a conventional manner by the mail transfer agent 5-7 to which the user station of a sender of a message is connected interrogating the MX record database 10 to obtain address data for the mail transfer agent 5-7 to which a recipient's user station will connect. The message is then routed to the recipient's mail transfer agent utilizing the obtained address.
In accordance with this embodiment of the present invention, in use, when a user wishes to pass a message via the Internet 4 after a message has been entered via a user station 1-3, it is transferred to the associated Internet service provider mail transfer agent 5-7 to which the user station 1-3 is connected in a conventional manner.
Where the Internet service provider mail transfer agent 5,6 is connected to a filter station 8,9, however, the Internet service provider mail transfer agent then automatically transfers the message to its associated filter station 8,9. When a message is received by the filter station 8,9 the filter station 8,9 then determines whether the intended ultimate destination for a message requires routing the message to a mail transfer agent 5,6 connected to another filter station 8,9. If this is the case the filter station 8,9 prior to transferring the message, determines whether the message fulfils a pre- stored set of rules obtained from the filter station 8,9 to which the intended destination mail transfer agent 5,6 is connected. Only if the message does fulfil the rules for transferring a message is the message then sent via the Internet 4 from the filter station 8,9 to the destination mail transfer agent.
Where a message is input via user station 3 connected to a mail transfer agent 7 which is not connected to a filter station 8,9 the mail transfer agent 7 processes the received message in a conventional manner by interrogating the MX record database 10 to convert the destination address for the message into a corresponding address for routing via the Internet 4. However, in accordance with this embodiment of the present invention the MX record database entry within the MX record database 10 for Internet service provider mail transfer agents 5,6 which are connected to filter stations 8,9 are all amended so that messages intended for the Internet service provider mail transfer agents 5,6 are routed to the filter station 8,9 connected to the Internet service provider mail transfer agents 5,6 rather than the mail transfer agents 5,6 themselves. In this case when a message is received by a filter station 8,9 the filter station 8,9 determines whether the received message fulfils the pre-stored rules for the user station 1,2 for which a message is intended and only if the message fulfils the requirements corresponding to the pre-stored rules for a user is the message then transferred via the dedicated communications link to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected.
In either case, if a message is determined by a filter station 8,9 not to fulfil the rules for transferring mail to a user station, the filter station 8,9 sends a message to the user station 1,3 from which the original message had been input to inform the sender of the message why the original message has not been delivered.
Thus in this way the Internet service provider mail transfer agent 5,6 for the user station 1,2 does not have to store the unwanted messages and when a user accesses the messages stored by the Internet service provider mail transfer agent 5,6 on their behalf, the user will not download or have to read any of the unwanted messages. Furthermore, where a message is to be sent between two mail transfer agents 5,6 both of which are linked to filter stations 8,9 by arranging data identifying rules for filtering messages to be smaller than most messages and transferring data identifying rules rather than transferring messages the total amount of data transferred via the Internet can also be reduced.
In this embodiment of the present invention, in addition to providing means for enabling rules for filtering electronic mails to be personalised, the mail preference server 12 enables senders of messages to identify a charge they are prepared to pay for having a message delivered. By enabling some of the pre-stored rules for filtering messages to be dependent upon confirmation that a acceptance of charge has occurred a means is provided by which the costs of accepting unsolicited messages can be passed on to the sender of a message rather than being borne by the receiver of a message, in the form of extra connection charges.
Prior to describing in detail the generation of data indicative of personalised mail transfer rules and records indicative of the acceptance of charges for mail transfer, the programs and data structures for data stored in the memories of the filter stations 8,9 and the mail preference server 12 will now be described in detail with reference to Figures 2-8.
Figure 2 is a block diagram of the content of the memory of a filter station 8,9. In accordance with this embodiment of the present invention a filter station 8 , 9 has stored in its memory a user preference database 20 for storing data indicative of the rules for transferring messages to user stations 2,3 connected to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected; filter station records 22 for identifying Internet service provider mail transfer agents 5,6 that are connected to filter stations 8,9 as will be described in detail later; a filtering module 24 for determining which messages received by the filter station 8,9 should be passed to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected; a transfer module 26 for transferring copies of records identifying a user's requirements for filtering mail from one filter station 8,9 to another filter station 8,9; a preference cache 28 for storing user preferences received from other filter stations 8,9; and an SMTP (simple mail transfer protocol) mail transfer agent module 29 for transferring received electronic messages in a conventional manner.
Figure 3 is a block diagram of an exemplary data structure for records stored within the user preference database in the memories of the filter stations 8,9. Each of the user preference records identifies a set of rules for filtering messages on behalf of a specified user. In accordance with this embodiment of the present invention the records within the user preference database comprise a user address 30 corresponding to the e-mail address of a user station 1,2 which may be connected to the Internet service provider mail transfer agents 5,6 to which the filter station 8,9 is attached and a plurality of filter records 32 and a default filter record 34. The filter records 32 each contain data identifying the requirements that a user has for receiving a message from identified e-mail addresses. The default record 34 provides a record containing data identifying the requirements a user has for all other e- mail addresses. Thus in this way the user preference database 20 provides a means by which user preferences for e-mail originating from different e-mail addresses can be filtered and associates the requirements for filtering of messages with the e-mail address to which a message is being sent.
Figure 4 is a block diagram of an exemplary data structure for filter records 32 and the default records 34 within a user preference record in the user preference database 20 stored within the memory of a filter station 8,9. In accordance with this embodiment of the present invention each of the filter records 32, and the default records 34, comprises an e-mail address 35 to which the rule within the record is to be applied; a value 37; an included key word list 39, an excluded key word list 41 and a requirement attachment field 43. In accordance with this embodiment the e-mail address may be a complete e-mail address or a partial e-mail address identifying either an intended recipient or a server to which a recipient may be connected. For default records 34, the e-mail address 35 comprises a dummy address applicable to all e-mails. The value field 37 identifies a cost which is to be associated with a received message transferred to the Internet service provider mail transfer agent for an individual. The included key word list and excluded key word list 39,41 comprise a list of words which are either to be included or not to be included within messages which a user is to receive and in a required attachment field 43 identifies attachments which are to be required for a message to be passed to the Internet service provider mail transfer agent for a specified user station, received from an associated e- mail address 35.
In accordance with the present invention for each e-mail address to which an Internet service provider mail transfer agent 5,6 is arranged to transfer e-mail messages to a user station 1,2, a user preference record is stored within the filter station 8,9 connected to the Internet service provider mail transfer agent 5,6. Initially these user records comprise a single default record 34 arranged to impose no restriction upon the transfer of messages from the Internet 4 to the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is attached. However, as will be described in detail later users may access the mail preference server 12 via the Internet 4 to alter the user preference record having a user address 30 corresponding to their e-mail address. This enables a user to cause to be stored within a filter station 9 a personalised set of filter records 32 and a default record 34 identifying requirements for e-mail messages which are to be transferred to them.
Table 1 is an exemplary set of user preference records 32 and a default record 34 for a user address. TABLE 1
Figure imgf000016_0001
By storing a set of filter records 32 such as are illustrated in Table 1 the user can define requirements for e-mail messages that they are to receive. Thus for example in the case of the filter records 32 of Table 1, records 1 and 2 identify that no restriction is to be based upon e-mails received from the addresses: iohndhere . com or bob@there . co .uk. Record 3 identifies that all records from the server shop.com are to be routed to the user provided the message includes the word receipt. Record 4 identifies that any message received from nick@work.co.uk is only to be transferred to the user if a value of 10 is associated with the message and the e-mail does not include the word 'patent. Record 5, is a default record 34 having a dummy address *@* which identifies that for all remaining addresses messages are only to be routed to the user if a value of 5 is associated with the message. As will be described in detail later the mail preference server 12 enables data to be entered which identifies a value to be associated with a message as will be described in detail later.
By requiring senders of messages to identify a value they wish associated with a message they are to send and providing that such a value is only associated with a message if payment for a message is made a means is provided to pass on the cost of transmitting multiple copies of unsolicited messages to the sender of a message rather than having the cost bourne by individuals downloading messages and the Internet service providers who transfer the message across to the network.
Figure 5 is a block diagram of an exemplary data structure for a record within the set of filter station records 22 stored within the memory a filter station 8,9. In accordance with this embodiment of the present invention a filter station record comprises a domain name 50 identifying the domain name within an e-mail address of an Internet service provider mail transfer agent 5,6 to which a filter station 8,9 is connected. The filter station record 22 also comprises a filter station address 52 being address data identifying a filter station 8,9 being a filter station 8,9 connected to an Internet service provider mail station 5,6 identified by the domain name 50 and an ISP address 54 being an address for the Internet service provider mail transfer agent 5,6 identified by the domain name 50.
In accordance with this embodiment of the present invention, when the message has been received by a filter station 8,9 if the message is intended for an Internet service provider mail transfer agent 5,6 which is connected to another filter station 8,9, initially user preference details for the filtering of the e-mails are obtained from the associated filter station 8,9 and only if the conditions identified by the user preferences are fulfilled is the message is transferred to the Internet service provider mail server 5,6 which the intended destination for the original message. The records within the filter station records 22 in the memory of each of the filter stations 8,9 provide means by which addresses of filter stations 8,9 connected to intended destinations of messages may be determined from destination address domain name data within an e-mail without the need to access such data from the MX record database 10 via the Internet and further provides means by which addresses for Internet service providers mail transfer agents 5 , 6 may also be identified directly from the destination address domain name data included within an e-mail message .
The program modules and data stored in the memory of the mail preference server 12 will now be described. Figure 6 is a schematic block diagram of the content of the memory of the mail preference server 12 in accordance with this embodiment of the present invention. As has previously been described the mail preference server 12 in this embodiment of the present invention enables individuals to amend the user preference records associated with their e-mail addresses in order to select which e-mails are to be sent to them. The mail preference server 12 in this embodiment also enables senders of messages to associate the value with a message which they wish to have delivered.
In accordance with this embodiment of the present "invention, the mail preference server 12 has stored within its memory an administration module 60; a preference input module 62 enabling users to alter the preferences for the manner in which the filter stations 8,9 filter e-mails on their behalf; a condition input module 64 for enabling senders of messages to input data indicating the conditions and values they accept for having their messages forwarded to other users; a redemption module 68; a user database 70 for storing data associating e-mail addresses with contact details and values resulting from the acceptance of messages; a condition database 72 indicating how different messages are to be associated with values; and a processing module 74 for processing requests received from filter stations 8,9 to establish whether the condition database 72 indicates that a message received by a filter station 8,9 is associated with the stored values as will be described in detail later.
Figure 7 is a schematic block diagram of a data structure for a user record stored within the user database 70 of the mail preference server 12. In accordance with this embodiment of the present invention the user records within the user database 70, each comprise a user address 80 being the e-mail address of a user; authentication data 82 being a password for accessing and amending records within the user database 70 as will be described in detail later; contact details data being the name and address of a user having an e-mail address indicated by the user address 80 of the record and current value data 86 indicative of the amount of money senders have accepted is to be paid to a user for receiving messages sent by them.
Figure 8 is a schematic block diagram of an exemplary data structure for records within the condition database 72 of the mail preference server 12. In this embodiment of the present invention the condition records within the condition record database 72 each comprise an identification number 90; authentication data 92, contact details 93, value per copy data 94, an expiry date 95 and a single message hash (SMH) number 96 being a number generated by processing the text of a message as will be described in detail later, an authorised flag field 97 and a current value 98.
As will be described in detail later when an individual wishes to send an electronic message in accordance with this embodiment of the present invention prior to sending the message a sender can access the mail preference server 12. Utilizing the condition input module 64 the sender may then generate a condition record which is stored within the condition database 72. The condition record identifies for that sender and a message input by the sender an SMH number 96 which is associated with data indicating the value 94 the sender accepts to pay for a copy of the message to be received. When payment for the message has been received the administration module 60 enables the content of the condition database 72 to be amended to set the authorised flag 97 of the record within the condition database 72 to active.
When this has occurred if a message corresponding to the message for which a record has been created is transferred via the Internet 4 to one of the filter stations 8,9 and the recipient for the message has requested that the pre-stated value is associated with a message to be sent, if the value per copy associated with the SMH number for the message exceeds the requirement from that user this causes the content of the condition database 72 to be updated to reduce by the current value 98 for the record associated with the message to be reduced by the value per copy 94 with a corresponding increase being placed for the current value field 86 in the user record within the user database 70 for the user receiving the message.
Thus in this way, where a user has set their preferences within the user preference database 20 of the filter station 8,9 associated with the Internet service provider mail station 5,6 to which the user station 1,2 is connected to indicate that messages of a preset type are to be associated with the specified value the user record for that individual is credited with an amount corresponding to that value whenever such a message is received. Periodically, the redemption module 68 can then be utilised to output the current value data 86 and contact details 84 associated with a user and then reset the current value data 86 to zero. A payment based upon the output value data could then be sent to the user utilising the contact details thereby providing a user with a payment for receiving unsolicited messages.
The processing of the preference input module 62 of the mail preference server 12 for amending the user preference records within the user preference database 20 will now be described with reference to Figure 9 and 10. The preference input module 62 is a program enabling a user to input and amend data identifying the user's requirements for filtering electronic messages which are to be sent to them. When a user wishes to amend a filter record 32 or default record 34 that stored within a filter station 8,9 in a user preference database 20 within a user preference record having a user address 30 corresponding to the user's e-mail address, the user accesses the mail preference server 12 via the Internet 4. Turning to Figure 9 which is a flow diagram of the processing of the preference input module 62 when the user accesses the mail preference server 12 the preference input module 62 initially (SI) dispatches to the user station 1,2 a user input interface requesting that the user enter their password and e-mail address.
When a user has entered their password and e-mail address these are then transferred from the user station 1,2 via the Internet 4 to the mail preference server 12 which then (s3) determines whether the e-mail address and password correspond to a user address 80 and authentication data 82 for a record within the user database 70 in the memory of the mail preference server 12. If this is not the case a user interface is once again (si) dispatched to the user station 1,2 and displayed prompting reentry of the user address and password.
If the preference input module 62 determines that the received password and e-mail address correspond to authentication data 82 and user address 80 within the user database 70 the preference input module 60 then (S5) sends a request to the relay station 8,9 connected to the Internet service provider mail server 5,6 to which the user station 1,2 is connected to send to the mail preference server 12 a copy of the user preference record stored in the user preference database where the user address 30 corresponds to the received e-mail address. When a copy of the preference record 23 from the user preference database 20 of the filter station 8,9 is received this is then stored (S7) in the memory of the mail preference server 12. The preference input module 62 then (S9) dispatches to the user station 2 a preference entry screen for enabling a user to alter the user preference record.
Figure 10 is an exemplary illustration of a user preference entry screen in accordance with this embodiment of the present invention. The preference entry screen comprises a name entry window 100 below which appears an address entry window 102 and a filter entry window 104. Displayed within the filter entry window 104 are copies of the values 37, addresses 35 and restrictions 39-43 of filter records 32 and the default record 34 retrieved from the filter station 8,9. Beneath the filter entry window 104 are displayed an enter button 106 an end button 108 and a pointer 110 that is controlled by a user input device attached to the user station 1,2 such as a mouse (not shown).
After the user entry screen is displayed on a user station a user may select the name window 100 the address window 102 or the filter entry window 104 using the pointer 110. After either the name window 100 address window 102 or filter entry window 104 have been selected these may enter using a keyboard (not shown) data which is then displayed within the selected window. If the user selects the enter button 106 a copy of the data displayed within the name window 100, address window 102 and filter entry window 104 is dispatched to the mail preference server 12.
When the preference input module 62 determines (Sll) that a new set of preferences have been received from a user station the preference input module 62 then causes (sl2) the copy of the user preference record stored within the memory of the mail preference server to be updated so that the filter records 32 and default record 34 stored in the memory correspond to the data displayed within the filter entry window 104 and the contact details 84 for the user correspond to the name and address data 100,102 displayed within the name window and address window 100,102 respectively. If the user selects the end button 108 using the pointer 110 a message is then dispatched from the user station 1,2 via the Internet 4 to the mail preference server 12 which is detected by the preference input module. When an end signal is detected (S13) the preference input module then causes a copy of the user preference record stored in the memory to be dispatched to the filter station 8,9 from which the user preference record was originally copied which is then used to replace the earlier user preference record. Thus in this way by entering data into the user preference entry screen a user causes the user preference record corresponding to their e-mail address to be altered to correspond to the data displayed in the filter entry window 104.
The processing of the condition input module 64 of the mail preference server 12 will now be described with reference to Figures 11 and 12. The condition input module 64 provides a means by which an individual who wishes to send a message via the Internet to an address that is directed via a filter station 8,9 may associate a value with that message. In particular by enabling senders of messages to associate values with messages to be sent an requiring than to pay for sending such messages a means as provided by which senders of e-mail messages in particular unsolicited e-mail messages may be charged for the service provided by Internet service providers transferring their messages.
Turning to Figure 11, which is a flow diagram of the processing of the condition input module 64, initially when a sender of a message wishes to associate a value with that message the sender accesses the mail preference over 12 via the Internet 4. This causes the mail preference server 12 to invoke the condition input module 64 which generates and dispatches (s20) a condition input interface to the user station of the sender of the message .
Figure 12 is an exemplary illustration of a condition input inter ace in accordance with this embodiment of the present invention. The condition input interface comprises a name entry window 200 beneath which is displayed an address entry window 202, a password entry window 204, a text entry window 206, a number entry window 208, a value window 210 and an expiry date entry window 212. Beneath the expiry window 212 are also displayed a next button 214 and a done button 216. A pointer 218 is also displayed as part of the interface for the point of being under the control of the mouse or other user input device attached to the user section (not shown) .
Using the pointer 218 under the control of the mouse or other user input device (not shown) a user may select any of the windows 200-212 of the condition input display. When a window is selected a user may then enter data via the keyboard (not shown) which is then displayed in the window 200-212. After data has been entered in all of the windows, a user selects the next button 214 this causes a copy of all the data displayed in the windows 200-212 to be dispatched from the user station on 1,2,3 to the mail preference server where it is processed by the condition input module 64. If the users select the done button a signal is sent to the mail preference serve 12 via the Internet indicating that the input of data by the user has ended.
Returning to Figure 11 after (s20) a condition input interface has been dispatched to a user station, the condition input module 64 then waits to receive further signals from the user station to which the input interface has been dispatched. If the mail preference server receives (s22) data from the user station corresponding to entries within the name, address, password, text, number, value and expiry windows 200-212 in the condition input interface the condition input module 64 then (s24) generates and stores an additional record within the condition database. The new condition record comprises a newly generated identification number 90, authentication data 92 corresponding to the data entered within the password window 204, contact details 93 corresponding to the name and address entered in the name and address windows 200-212 a value per copy 94 corresponding to a value entered within the value window 210 divided by the number entered within the number window 208 of the condition input interface; an expiry date 95 corresponding to the entry within the expiry window 212 and an SMH number being a code number generated by processing the text within the text window 206 for example by using such algorithms as MD5, SHA or RIPE-MD; an authorised flag 97 having status indicated as inactive and a current value 98 corresponding to the value within the value window 210.
A fresh condition entry interface is then dispatched (s20) to the user station for entry of further conditions which is processed in a similar way (s22-s24). When (s26) the mail preference server receives from a user station a signal indicating that the done button 216 has been selected the processing of the condition input module 64 comes to an end.
By providing a condition input module 64 by which text messages 206 may be converted to a code number 96, a means is provided by which the messages corresponding to the text 206 may be identified at a later date. The condition input module enable values to be associated with the text within a message. However by additionally including within the records in the condition database 72 an authorised flag 97 the association of a value with a message may be made dependent upon an external condition such as payment of a fee. When a fee has been paid the administration module 60 may then be used to alter the status of the authorised flag 97 for a user identified by the contact details 93 for a record thus obliging a sender of a message to pay for the value 94 which is to be associated with those messages.
The processing of the filtering module 24 will now be described in detail with reference to Figures 13A and B.
Initially (s30) the filtering module waits for receipt of an e-mail message. When an e-mail is received by a filter station 8,9 either by being transferred by the dedicated connection from the Internet service provider mail transfer agent 5,6 to which the filter station 8,9 is connected or from the Internet 4; a the filtering module 24 then (s32) extracts from the e-mail the destination address that the e-mail is intended for.
The filtering module 24 then (s34) determines whether the destination address corresponds to the domain name for the Internet service provider mail transfer agent 5 , 6 to which the filter station 8,9 is connected. This will always be the case when a message has been routed to the filter station via the Internet 4 and will also occur when a user station sends a message to another user station that is to be connected to the same Internet service provider mail transfer agent. If the destination address of the received message does correspond to the Internet service provider mail transfer agent address the filtering module then proceeds to determine (s46 - s56) whether the message should be passed on to the Internet service provider mail transfer agent 5,6 to which it is connected as will be described in detail later.
If this is not the case, the filtering module 24 then determines (s36) whether the domain name of the destination for the message corresponds to a domain name of a mail transfer agent which is attached to another filter station 8,9. This is achieved in this embodiment by the filtering module 24 interrogating the filter stations records 22 to identify whether the domain name for the destination address corresponds to any of the domain names 50 of the filter station records 22 in memory. If this not the case the filter station then transfers the message in a conventional manner to the Internet service provider mail transfer agent 7 in a conventional manner (s56) by interrogating the MX record database 10 utilising the domain name for the message to obtain address data for sending the message and then transferring the message via the Internet 4.
If the filtering module 24 determines that the destination domain name for a message does correspond to a domain name 50 of one of the filter station records 22 the filtering module 24 stores in memory the filter station address 52 and the Internet mail transfer agent address 54 for use later.
The filter module 24 then determines whether the preference cache 28 has stored therein a user record having a user address 30 corresponding to the intended destination for the received message. If this is the case the filtering module 24 proceeds to utilise the stored user preference to determine (s46 - s56) whether or not the message is to be transferred to the requested destination as will be described in detail later.
If the preference cache does not have a record with a user address 30 corresponding to the requested destination for the current received message the filtering module 24 then sends a request to the filter station that is connected to the Internet service provider mail server 5,6 that the message is to be transferred to utilising the address for the filter station 52 stored in memory. This message comprises a request for the other filter station to output to the first filter station a copy of the user preference record corresponding to the user address 30 of the message that has been received by the first new filter station. This request is then processed by the transfer module 26 of the other filter station.
The filter station 8,9 then waits (s42) until a copy of the user record has been received from the other filter station. The copy is then stored in the preference cache 28. The filter module 24 then proceeds to determine whether or not the message should be transferred to the identified Internet service provider mail transfer agent 5,6 utilising the received user preference record.
After either a new copy of a user preference record has been stored in the preference cache or the filtering module 24 has determined that either a user preference record for the requested destination for a message is stored in the user preference database 20 or already stored in the user preference cache 28 the filtering module 24 then determines which of the filter records 32,34 associated with a user address 30 corresponding to the destination address for the message to be transferred corresponds to the origin address for the message received by the filter station 8.
In this embodiment of the present invention at least one filter record 32,34 will correspond to the origin address for a message as each user preference record includes a default record 34 to be applied to all messages for which no other filter record 32 is applicable. After the filtering module 24 has determined which filter record has an e-mail address 35 corresponding to the e-mail address of the origin of the message which has been received the filtering module 24 then determines whether the message fulfills the filter requirements corresponding to the included and excluded keyword lists 39,41 and required attachments 43. If the content of the message does not fulfill the conditions identified by the user preference record for the destination of the message, the message is not forwarded, instead a message is dispatched (s52) back to the sender as will be described in detail later.
If on the basis of a comparison of the content of the message and the conditions identified by the included and excluded keyword lists 39,41 and the required attachments 43, the message is determined to fulfill a users requirements as to content, the filtering module then determines whether the value 37 associated with the record for the origin of the message is equal to zero (s46) .
If a value other than zero is associated with the origin address by a filter record 32 the filtering module 24 then proceeds to calculate an SMH number being a code number calculated in the same way in which a code number is calculated from the content of a message by the condition input module 64 of e-mail preference server 12. This number is then dispatched together with the destination address for the received message and the required value as indicated by the value field 37 for the filter record which is to be applied to the received message to the mail preference server 12 which processes the data to identify whether any conditions within the condition database 72 correspond to the code number for the message as will now be described.
Figure 14 is a flow diagram of the processing of a processing module 74 of the mail preference server 12. The processing module 74 is invoked when a message (s60) is received from a filter station 8,9. When a query has been received from a filter station 8,9 the processing module 74 then determines (s62) whether any condition record stored within the condition database 72 has an SMH number 96 corresponding to the SMH number received as part of the query from the filter station 8,9. If a condition record is found having an SMH number 96 corresponding to the number received, the processing module 74 then (s64) determines firstly whether the condition record is active as is indicated by the authorised flag 97 and whether or not the expiry date 95 has been exceeded and then determines whether the value per copy 94 exceeds the required value as included in the message received from the filter station 8,9. If this is the case provided that the current value 98 associated with a new record exceeds the value per copy 94 this indicates that the sender has associated a value with the message in excess of the receiver's requirement and has paid enough money for the message to be transmitted to the receiver.
If it is determined either no record exists (s62) or (s64) any of the conditions for a valid record are not fulfilled for example the authorised flag 97 is set to inactive, the current value 98 does not exceed the value per copy 94, the expiry date 95 has passed or the value per copy 94 does not exceed the user's requirements as indicated by the received message, the processing module 74 proceeds to dispatch (s65) a message to the filter station 8,9 from which a query had previously been received indicating that the user's requirements are not fulfilled.
If a condition record fulfilling all the user's requirement is determined to be stored within the condition database 72 the processing module 74 proceeds to (s66) alter the condition record by decrementing the current value 98 by the value per copy 94 and incrementing the current value 86 of the user database 70 corresponding to the user address 80 for the intended recipient of the message by the value per copy 94. The processing module 74 then causes a message (s68) to be dispatched back to the transfer filter station 8,9 indicating that the condition set by user with regards to value have been fulfilled.
In this way by decrementing the current value 98 associated with a condition record and incrementing the current value 86 associated with a user address 80 for the destination of a message a means is provided to enable the value that a sender places on message to be transferred from the sender of a message to the receiver of the message. After either a yes signal (s68) or a no signal (s65) has been dispatched to the filter station from which a query has been received the processing of the processing modules 74 comes to an end.
Returning to Figure 13B, the result of the processing by the mail preference server is then received by the filter station 8,9 in the form of a message indicating either the value conditions are or are not fulfilled for that message. The filtering module then utilises the received data (s50) and if the value conditions are not fulfilled (s52) sends a message back to the senders address for the received message informing the sender of the message the value condition that they have failed to fulfil (s52).
If the value condition is fulfilled the filtering module 24 utilises the address for the Internet service provider mail server (s54) stored in memory to associate that address with the message and then invokes the SMTP (simple mail transfer protocol) mail transfer agent module 29 to cause the message to be transferred to the Internet service provider mail transfer agent for the user station for which the message is intended either via the dedicated connection or via the Internet 4 in a conventional manner. Thus in this way where a message has been determined to fulfil all of the conditions set out in the user preference record for the destination of a message the message is transferred, and the filtration of messages in accordance with this embodiment of the present invention is achieved prior to processing of a message by the Internet service provider mail transfer agent to which a user station may be connected.
SECOND EMBODIMENT
In the previous embodiment, a system has been described in which copies of user records are transmitted across the network so that a filter station 8; 9 which is routing a message and which does not have a stored user record for an address can determine whether or not a message is to be forwarded. A problem with such a system is that as the user records are transmitted around the network, they could be intercepted and the information contained within the user record could be used to determine e-mail addresses 35 associated with zero values 37. Once e-mail addresses 35 associated with zero values 37 have been identified e-mail messages could be sent to users which avoid being filtered by incorporating the identified address data 35 as origin data for the messages.
In order to overcome the above limitation, a system could be provided which transmits only partial user records. Specifically, instead of requesting and receiving a complete user record incorporating the user address 30 corresponding to the destination address of a message, a partial record identifying the filter for a specific message could be dispatched.
The other filter stations 8,9 could then be arranged to determine the value appropriate for the receipt of a message from the received origin address and destination address by matching an origin address to a filter record 32,34 in the user record having the destination address as a user address 30. The filter stations 8, 9 would then be arranged to output a partial user record incorporating the origin address and a value 37 determined as a result of the match.
Thus for example in the case of a user record 30 for a specified destination address including the following filter records 32,34:
E-mail Address Value andy*@cedilla.com 0 *@* 5
if a message from nick@fox.co.uk were to be sent to the specified destination address, the filter stations 8,9 could be arranged to dispatch requests including the destination address and the above origin address and receive in response single filter record:
E-mail Address Value nick@fox.co.uk 5
being the result of the determination by the other filter station 8,9 of the filter applicable to the origin address for a message to be routed.
In addition to reducing the possibility that complete contents of a user record for a destination might become known and the filtering system avoided, in this alternative embodiment, filtering is achieved with the transmission of less data across the network as a user record including only a single filter record 32 is dispatched each time a user record is requested from another filter station 8,9.
FURTHER ALTERNATIVES AND AMENDMENTS
In the previous embodiments of the present invention description has been made of a computer network in which an SMH number is calculated and stored with value data identifying the conditions a sender of the message accepts for the transmission of that message. It will be appreciated however, that instead of generating an SMH number centrally at a mail preference server 12 other means could be provided to generate condition records for storage within the condition database 72. In particular, a dedicated mail program could be stored within the memories of the user station 1-3 arranged to generate and transmit to a mail preference server data for storage within the condition database. In this way when a message is generated using the user station 1-3 value may be automatically associated with the message so that the message can be transferred via the Internet 4 and the filter station 8,9.
Although in the previous embodiment a preference input module 62 is provided centrally at the mail preference server 12 accessible by the user stations 1-3 via the Internet 4. It will be appreciated that separate preference input modules 62 could be provided on each of the filter stations 8,9 with each of the user station 1;2 accessing a preference input module 62 stored on a filter station 8 attached to the Internet service provider mail transfer agent 5,6 which the user station 1;2 utilises to access the Internet 4.
Although in the above-described embodiment value data for filtering messages has been described in which users are credited and paid for messages received, it will be appreciated that value data could identify a negative value indicative of a user making a payment to receive messages from a specified origin. In such circumstance mail preference server 12 could be modified to enable users to input values identifying the amounts they wish to spend to receive messages and to enable senders of messages to receive credit for sending a message.
Although in the above embodiment reference has been made to the transfer of filtration data via the Internet, it will be appreciated that the filtration data could itself comprise an executable program for processing a message to be filtered.
Furthermore although in the above described embodiment reference has been made to filter, station records 22 being stored within the memory of the filter stations 8,9, it will be also be appreciated that alternative means could be provided for filter stations 8,9 to be able to identify messages to be sent via other filter stations 8,9. In particular, rather than having a stored record of the addresses of filter stations, the filter stations themselves 8,9 could be arranged to transmit query data via the Internet 4 to a mail transfer agent or filter station 5-9 identified as a destination for a message, to request that the destination server outputs data identifying whether the server has stored thereon filter records for filtering messages. If this is the case, then a further query could be output requesting the filter station transmits a copy of the filter record for the final destination address for a message to be forwarded.
It will be appreciated that since the filter stations 8,9 and Internet service provider mail transfer agents 5-7 all have stored thereon a SMTP mail transfer agent module, interrogation of a server to determine whether any filter records are stored on the server to make use of the availability of a common SMTP format in order to identify whether such records exist.
Where no filter records were stored on the server interrogated in accordance with the standard SMTP protocol the server would merely dispatch a list of keywords it supported and the filter station 8,9 making a query could utilise such a default response to indicate that filter records were stored.
It will also be appreciated that by providing a system in which individual filter stations 8,9 have stored therein a preference input module 62 and where each filter station 8,9 is arranged to identify whether a server to which a message is to be forwarded has stored thereon filter records by dispatching a query rather than having a stored list of filter stations, a means is provided by which the total number of filter stations 8,9 provided on a network may be easily varied. In particular additional filter stations 8,9 may be added to the network without any additional amendments needing to be made to the filter station 8,9 already present on the network, thereby enabling the system to grow easily.
Although in the above described embodiment a system has been described in which filter records 32 are utilized to select messages for forwarding and to impose costs upon senders of multiple copies of unsolicited messages, other applications may be made of filters associating required values with messages.
Thus for example instead of transferring a value associated with a message from the account of a sender to the account of a recipient, further conditions could be imposed upon how and when accounts data is updated. Thus for example, the transfer of value could be made dependent upon the sending of a reply to a message.
In the case of such a system the conventional reply to function identified in the RFC822 Internet standard could be utilized to effect such a conditional transfer of value. Specifically, by associating a message with a conditional value in a similar way as has been described above a means is provided to indicate to the system value is only to be released upon receipt of a reply to the message. When such a message is then received by a filter station 8 , 9 the filter station 8 , 9 could store data identifying an amount to be released upon reply and the sender's address and the recipient's address. Prior to forwarding the message, a reply to address could then be incorporated into the message being forwarded. Upon receipt of a reply from the recipient address at the reply to address, the received message could then be forwarded to the sender with the value being credited to the recipient's account only when such a reply has been forwarded .
Furthermore, as the reply to address acts to intervene between the initial sender of a message and an individual replying to a mass e-mail message, a filter station 8,9 can be provided which removes the replier's address before forwarding a reply message. In such a system a means is then provided to cause an account to be updated by the value associated with a message for which a reply is required without the initial sender knowing the identity of the replier. Thus such a system of account updates could be utilized to make anonymous payments where the identity of individuals replying to a mass e- mail message could be kept secret.
In the above embodiments systems have been described in which data for generating filter records 32 is directly entered by a user utilizing the user preference entry screen. In other embodiments, at least some of the filter records could be generated automatically.
Specifically, in order to enable the user to receive messages from e-mail addresses identified in the user's address book, a monitoring module could be provided on the user's computer to identify the e-mail addresses within the address book. Filter records 32 associating the e-mail addresses 35 of the addresses within the address book with a value 37 of zero could then be automatically generated and stored on a filter station 8,9 in association with the user's e-mail address 30. Thus in this way filter records 32 for a user could be set up automatically so that the user is able to receive messages from all of the individuals identified within their address book, without any values being associated with those messages.
Alternatively, the monitoring program could be arranged to detect whenever a user sends a message to a new e-mail address, and if this is the case to generate a new filter record 32 associating that new e-mail address 35 with a zero value. hen the filter record 32 was then included in the appropriate user preference record, the filter record 32 would then be such as to permit a reply received from the new e-mail address to be transferred back to the user without any value being associated with the reply.
Although the embodiments of the invention described with reference to the drawings comprise computer apparatus and processes performed in computer apparatus, the invention also extends to computer programs, particularly computer programs on or in a carrier, adapted for putting the invention into practice. The program may be in the form of source or object code or in any other form suitable for use in the implementation of the processes according to the invention. The carrier be any entity or device capable of carrying the program.
For example, the carrier may comprise a storage medium, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording medium, for example a floppy disc or hard disk. Further, the carrier may be a transmissible carrier such as an electrical or optical signal which may be conveyed via electrical or optical cable or by radio or other means.
When a program is embodied in a signal which may be conveyed directly by a cable or other device or means, the carrier may be constituted by such cable or other device or means.
Alternatively, the carrier may be an integrated circuit in which the program is embedded, the integrated circuit being adapted for performing, or for use in the performance of, the relevant processes.

Claims

1. A computer network for selectively transmitting messages comprising: a plurality of user stations for inputting messages; a plurality of mail servers for directing messages via a communication network, at least some of said plurality of mail servers having stored therein filtration data for selecting messages to be transmitted to each of a number of identified user stations; and a communications network for transmitting messages between said mail servers and between said mail servers and said user stations; wherein said at least some of said plurality of mail servers are arranged upon receipt of a message for transmission via said communication network to a user station for which filtration data is stored to utilise said filtration data to determine whether or not to transmit said received message.
2. A computer network in accordance with claim 1, wherein said at least some of said plurality of mail servers are each arranged upon receipt of a said message for transmission to determine whether filtration data for said message is stored only on another of said mail servers and to obtain via said communications network said filtration data if said data is stored only on another of said mail servers .
3. A computer network in accordance with claim 2 wherein said at least some of said plurality of mail servers are arranged to store filtration data obtained via said communication network.
4. A computer network in accordance with any preceding claim wherein said filtration comprises data identifying content in a message, wherein said at least some of said plurality of mail servers are arranged to determined whether or not to transmit a said received message on the basis of a comparison between said filtration data and said received message.
5. A computer network in accordance with claim 4, wherein said filtration data comprises data identifying an origin address for a message, wherein said at least some of said plurality of mail servers are arranged to select messages for transmission on the basis of a said origin address for a message.
6. A computer network in accordance with claim 5, wherein said at least some of said plurality of mail servers are arranged to associate filtration data identifying an origin address for a message with other data identifying the content of a message and to select messages for transmissions received from an identified origin address on the basis of a comparison between said message and said other data.
7. A computer network in accordance with claim 6 wherein said other data comprises data identifying words or files incorporated within a message.
8. A computer network in accordance with any preceding claim further comprising: means for generating within any of said plurality of user stations, input means for inputting filtration data for storage within a mail server of said at least some of said plurality of mail servers.
9. A computer network in accordance with any preceding claim, wherein each of said at least some of said plurality of mail servers has stored therein data identifying the others of said at least some of said plurality of mail servers each of said at least some of said plurality of mail servers being arranged upon receipt of a said message, to determine if said message is to be transferred to a said mail server and to request filtration data from said mail server to determine whether to transmit said received message.
10. A computer network in accordance with any of claims 1 to 8 wherein each of said at least some of said plurality of mail servers is arranged upon receipt of a said message to request filtration data from a mail server to which said message is to be routed and to utilise data received as a result of said request to determine whether to transmit said message.
11. A computer network in accordance with any preceding claim further comprising: association means for associating value data with data identifying a message, wherein said at least some of said plurality of mail servers are arranged to store filtration data associating values with origin addresses said mail servers being arranged to determine whether to transmit a received message on the basis of a comparison of a value associated with an origin address and a said value associated with data identifying said received message .
12. A computer network in accordance with claim 11 wherein said data identifying a message comprises code data generated processing the content of a said message, wherein said at least some of said plurality of servers are arranged upon receipt of a message to process the content of a received message to generate said code data.
13. A computer network in accordance with claim 11 or 12 further comprising means for generating value input means within any of said plurality of user stations for inputting data identifying values to be associated with messages for storage within said association means.
14. A computer network in accordance with claim 11, 12 or 13 wherein said association means is further arranged to associate value data with data identifying user stations, wherein said association means is arranged to alter the value data associated with data identifying a message and value data associated with data identifying a user station, when said at least some of said plurality of mail servers determined to transmit a message identified by said data identifying a message to said user station.
15. A computer network in accordance with any of claims 11 to 14, wherein said association means is further arranged to associate with said value data and data identifying a message with authorisation data, wherein said at least some of said plurality of mail servers are arranged to transmit received messages identified by said data identifying a message on independence upon said authorisation data.
16. A computer network for selectively transmitting messages comprising: a plurality of user stations for inputting messages; a plurality of mail servers for directing messages via a communication network, at least some of said plurality of mail servers having stored therein filtration data for selecting messages to be transmitted to each of a number of identified user stations; a communications network for transmitting messages between said mail servers and between said mail servers and said user stations; and association means for associating value data with data identifying a message, wherein said at least some of said plurality of mail servers are arranged to store filtration data associating values with origin addresses said mail servers being arranged to determine whether to transmit a received message on the basis of a comparison of a value associated with an origin address and a said value associated with data identifying said received message .
17. A computer network in accordance with claim 16 wherein said data identifying a message comprises code data generated processing the content of a said message, wherein said at least some of said plurality of servers are arranged upon receipt of a message to process the content of a received message to generate said code data.
18. A computer network in accordance with claim 16 or
17 further comprising means for generating value input means within any of said plurality of user stations for inputting data identifying values to be associated with messages for storage within said association means.
19. A computer network in accordance with claim 16, 17 or 18 wherein said association means is further arranged to associate value data with data identifying user stations, wherein said association means is arranged to alter the value data associated with data identifying a message and value data associated with data identifying a user station, when said at least some of said plurality of mail servers determined to transmit a message identified by said data identifying a message to said user station.
20. A computer network in accordance with any of claims
18 to 19, wherein said association means is further arranged to associate with said value data and data identifying a message with authorisation data, wherein said at least some of said plurality of mail servers are arranged to transmit received messages identified by said data identifying a message on in dependence upon said authorisation data.
21. A mail server selectively transmitting messages comprising: receiving means for receiving messages and data from a communications network; transmission means for forwarding received messages via a communication network; and means for storing filtration data for selecting messages to be transmitted to each of a number of identified user stations; wherein said mail server is arranged upon receipt of a message for transmission via said communication network to a user station for which filtration data is stored to utilise said filtration data to determine whether or not to transmit said received message.
22. A mail server in accordance with claim 21, wherein said server being arranged upon receipt of a said message for transmission to determine whether filtration data for said message is stored only on another of said mail servers and to obtain via said communications network said filtration data if said data is stored only on another of said mail servers.
23. A mail server in accordance with claim 22 wherein said mail server is arranged to store filtration data obtained via said communication network.
24. A mail server in accordance with any of claims 21-23 wherein said means for storing is arranged to store filtration comprising data identifying content in a message, said mail server being arranged to determine whether or not to transmit a said received message on the basis of a comparison between said filtration data and a received message.
25. A mail server in accordance with claim 24, wherein said means for storing is arranged to store filtration data comprising data identifying an origin address for a message, wherein said mail server is arranged to select messages for transmission on the basis of a said origin address for a message.
26. A mail server in accordance with claim 25, wherein said means for storing mail is arranged to associate filtration data identifying an origin address for a message with other data identifying the content of a message and said mail server being arranged to select messages for transmission received from an identified origin address on the basis of a comparison between said message and said other data.
27. A mail server in accordance with claim 26 wherein said other data comprises data identifying words or files incorporated within a message.
28. A mail server in accordance with any of claims 21- 27, wherein said means for storing has stored therein data identifying other mail servers connected to said communications network said mail server being arranged upon receipt of a said message, to determine if said message is to be transferred to a said other mail server and to request filtration data from said other mail server to determine whether to transmit said received message.
29. A mail server in accordance with any of claims 21-28 wherein mail server is arranged upon receipt of a said message to request filtration data from a mail server to which said message is to be routed via said communications network and to utilise data received as a result of said request to determine whether to transmit said message.
30. A mail server for selectively transmitting messages comprising: receiving means for receiving messages and data from a communications network;
• transmission means for forwarding received messages via a communication network; and means for storing filtration data for selecting messages to be transmitted to each of a number of identified user stations said means for storing filtration data associating origin address data with value data; wherein said mail server is arranged upon receipt of a message for transmission via said communication network to a user station for which filtration data is stored generate a code data utilising said received message; obtain value data associated with said code data via said communication network; and to compare said received value data associated with said generated code data said filtration data associated with origin address data corresponding to the origin address of said received message to determine whether or not to transmit said received message.
31. A method for selectively forwarding messages substantially as described herein with reference to the accompanying drawings .
32. A method of selectively transmitting messages comprising: providing a plurality of mail servers for directing messages via a communication network, at least some of said plurality of mail servers having stored therein filtration data for selecting messages to be transmitted via said communications network; receiving a message for transmission ia said communication network to a user; and utilising said filtration data to determine whether or not to transmit said received message.
33. A method for selectively transmitting messages comprising: providing a plurality of mail servers for directing messages via a communication network, at least some of said plurality of mail servers having stored therein filtration data for selecting messages to be transmitted to each of a number of identified user stations; comprising data associating values with origin addresses a communication network for transmitting messages and said user stations; and providing association means for associating value data with data identifying a message; receiving a message and generating data identifying said message; and determining whether to transmit said received message on the basis of a comparison of a value associated with an origin address of said message by said filtration data and a said value associated with generated data identifying said received message.
34. A method for selectively forwarding messages substantially as described herein with reference to the accompanying drawings .
PCT/GB2001/002104 2000-07-07 2001-05-14 Method and apparatus for filtering messages within a computer network WO2002005500A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001254985A AU2001254985A1 (en) 2000-07-07 2001-05-14 Method and apparatus for filtering messages within a computer network

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB0016832.8A GB0016832D0 (en) 2000-07-07 2000-07-07 Method and apparatus for filtering messages within a computer network
GB0016832.8 2000-07-07
GB0103026.1 2001-02-07
GB0103026A GB2366164A (en) 2000-07-07 2001-02-07 Filtering messages within a computer network

Publications (1)

Publication Number Publication Date
WO2002005500A1 true WO2002005500A1 (en) 2002-01-17

Family

ID=26244626

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/002104 WO2002005500A1 (en) 2000-07-07 2001-05-14 Method and apparatus for filtering messages within a computer network

Country Status (2)

Country Link
AU (1) AU2001254985A1 (en)
WO (1) WO2002005500A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379842A (en) * 2001-06-19 2003-03-19 Hewlett Packard Co Packet discrimination in an internet service provider environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996035994A1 (en) * 1995-05-08 1996-11-14 Compuserve Incorporated Rules based electronic message management system
WO1999032985A1 (en) * 1997-12-22 1999-07-01 Accepted Marketing, Inc. E-mail filter and method thereof
US6052709A (en) * 1997-12-23 2000-04-18 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996035994A1 (en) * 1995-05-08 1996-11-14 Compuserve Incorporated Rules based electronic message management system
WO1999032985A1 (en) * 1997-12-22 1999-07-01 Accepted Marketing, Inc. E-mail filter and method thereof
US6052709A (en) * 1997-12-23 2000-04-18 Bright Light Technologies, Inc. Apparatus and method for controlling delivery of unsolicited electronic mail

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379842A (en) * 2001-06-19 2003-03-19 Hewlett Packard Co Packet discrimination in an internet service provider environment
GB2379842B (en) * 2001-06-19 2004-04-14 Hewlett Packard Co Internet service provider method and apparatus

Also Published As

Publication number Publication date
AU2001254985A1 (en) 2002-01-21

Similar Documents

Publication Publication Date Title
US7657599B2 (en) Systems and methods for automatically updating electronic mail access lists
US6405243B1 (en) Method and system for updating email addresses
US7774420B2 (en) Managing on-demand email storage
US8423437B2 (en) Certified email system and method
EP2443608B1 (en) Certified email system and method
EP1833984B1 (en) A method for discouraging unsolicited bulk email
US20040093414A1 (en) System for prevention of undesirable Internet content
EP1883042A1 (en) System and method for electronic file transmission
JP2008519324A (en) Method and system for regulating email
US10389622B2 (en) Messaging stamp authority
JPH10228432A (en) Method and device for providing wide decoding function of contents attached to electronic mail
KR20050040834A (en) Location based print job distribution
US7206850B2 (en) Communication system, relay device, service providing device, relaying method, service providing method and program product
US7660857B2 (en) Systems and methods for automatically updating electronic mail access lists
US20030233577A1 (en) Electronic mail system, method and apparatus
GB2366164A (en) Filtering messages within a computer network
WO2002005500A1 (en) Method and apparatus for filtering messages within a computer network
JP7285406B1 (en) E-mail processing method and e-mail processing device
KR100426869B1 (en) Method and system for intermediating information via network
JP2002009813A (en) Electronic mail distribution system and its method
JP4653058B2 (en) Message delivery system, message transfer apparatus, message transfer method, and message transfer program
KR20140143122A (en) Method for Managing Mail by using Messaging
KR20230088177A (en) Electronic Funds Transfer Method for Safety Transaction
WO2009050329A1 (en) Token and a distributed service network which uses it
JP2007066113A (en) Electronic file distribution apparatus, electronic file distribution system, electronic file distribution program, and electronic file distribution method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

ENP Entry into the national phase

Country of ref document: RU

Kind code of ref document: A

Format of ref document f/p: F

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP