Reducing unwanted and unsolicited electronic messages by exchanging electronic message transmission policies and solving and verifying solutions to computational puzzles
First Claim
1. In a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, a method for indicating to a receiving domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving domain, the method comprising:
- an act of the sending messaging server receiving electronic message data that is to be contained in an electronic message sent from the sending messaging server to the receiving domain;
an act of the sending messaging server generating puzzle input from one or more components of the electronic message;
an act of the sending messaging server identifying an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle, wherein the answer hash value is calculated by hashing a combination of the puzzle input and at least one of the different answer documents; and
an act of sending the electronic message from the sending messaging server to the receiving domain, wherein the electronic message includes the identified answer document and the electronic message data enabling verification by the receiving domain that the sending messaging server expended computational resources without further communication with the sending messaging server.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention provides for generating inputs that can be provided to a message classification module to facilitate more reliable classification of electronic messages, such as, for example, as unwanted and/or unsolicited. In one embodiment, a sending messaging server provides an appropriate response to address verification data thereby indicating a reduced likelihood of the sending messaging server using a forged network address. In another embodiment, it is determined if a messaging server is authorized to send electronic messages for a domain. In yet another embodiment, electronic message transmission policies adhered to by a domain are identified. In yet a further embodiment, a sending computer system expends computational resources to solve a computational puzzle and includes an answer document in an electronic message. A receiving computer system receives the electronic message and verifies the answer document.
42 Citations
19 Claims
-
1. In a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, a method for indicating to a receiving domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving domain, the method comprising:
-
an act of the sending messaging server receiving electronic message data that is to be contained in an electronic message sent from the sending messaging server to the receiving domain; an act of the sending messaging server generating puzzle input from one or more components of the electronic message; an act of the sending messaging server identifying an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle, wherein the answer hash value is calculated by hashing a combination of the puzzle input and at least one of the different answer documents; and an act of sending the electronic message from the sending messaging server to the receiving domain, wherein the electronic message includes the identified answer document and the electronic message data enabling verification by the receiving domain that the sending messaging server expended computational resources without further communication with the sending messaging server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. In a receiving domain that is network connectable to one or more sending domains, the receiving domain including one or more receiving messaging servers configured to receive electronic messages from the sending domains, a method for determining if a sending messaging server solved a predetermined computational puzzle before sending an electronic message, the method comprising:
-
an act of receiving an electronic message, wherein the electronic message includes electronic message data and an answer document; an act of reproducing a puzzle input from one or more predetermined components of the electronic message; an act of determining if a verifying hash value is a solution to the predetermined computational puzzle, the verifying hash value being calculated by hashing a combination of the answer document and the puzzle input using a hashing algorithm; and an act of determining, based on whether the verifying hash value is a solution to the predetermined computational puzzle, whether the received electronic message is spam. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product for use in a sending domain that is network connectable to one or more receiving domains, the sending domain including a sending messaging server configured to send electronic messages to the receiving domains, the computer program product for implementing a method for indicating to a receiving domain that the sending messaging server expended computational resources to solve a predetermined computational puzzle before sending an electronic message to the receiving domain, the computer program product comprising one or more computer storage media, the computer storage media not consisting of a propagated data signal and having stored thereon computer executable instructions that, when executed by a processor, cause the sending domain to perform the following:
-
receive electronic message data that is to be contained in an electronic message; generate puzzle input from one or more components of the electronic message; identify an answer document by applying a hashing algorithm to different answer documents until the hashing algorithm produces an answer hash value that is a solution to the predetermined computational puzzle, wherein the answer hash value is calculated by hashing a combination of the one of the different answer documents and the puzzle input using the hashing algorithm; and send the electronic message to the receiving domain, wherein the electronic message includes the identified answer document and the electronic message and enables verification by the receiving domain that the sending messaging server expended computational resources without further communication with the sending messaging server.
-
Specification