通过限制连接和消息的数目来控制接收不想要的电子邮件的方法、装置和计算机软件的制作方法

文档序号:7948338阅读:161来源:国知局
专利名称:通过限制连接和消息的数目来控制接收不想要的电子邮件的方法、装置和计算机软件的制作方法
技术领域
本发明通常涉及电子邮件传送系统。
背景技术
消息传输代理是负责传送电子邮件消息的程序。当接收到一个消息时,消息传输代理在本地存储该消息,分析它的接收者,并且或者在本地传送该消息或者将其路由到另一个消息传输代理。在每种情况下,消息传输代理都可以添加或编辑消息头部。
不想要的电子邮件消息或垃圾邮件的泛滥已经妨碍了整个电子消息传递系统。许多用户发现他们接收到太多的不想要的电子邮件,以致难于对其分类并找到想要的邮件。现在一些系统能够检查某些关键字并隔离具有这些关键字的消息。然而,尽管有一些现有的控制垃圾邮件的技术,但是垃圾邮件仍然是电子邮件系统中的一个主要问题。
因此,需要更好的方法来控制不想要的电子邮件。


图1是一个电子邮件消息的传输的示意性表示;图2是根据本发明的一个实施例的软件的流程图;以及图3是根据本发明的一个实施例的电子邮件发送器或接收器的系统表示。
具体实施例方式
参照图1,外部消息传输代理(MTA)10会尝试向具有内部消息传输代理(MTA)12的接收器发送电子邮件消息。该内部消息传输代理12还与数据库14通信。
这样,开始时,外部MTA 10使用特定的因特网协议地址来请求与内部MTA 12的连接,如11所示。内部MTA 12使用外部MTA 10的完全合格的域名、MTA 10的因特网协议地址、以及进行连接所使用的域来查找外部MTA 10的信任值。这个信任值检查如箭头20所示,作为从内部MTA 12到数据库14的通信。然后,数据库14指示(在这个特定示例中)存在或者不存在一个信任值,如箭头13所示。如果没有连接历史,那么可以使用一个缺省值。一个连接历史项会被记录,以便跟踪给定的外部MTA使用特定的因特网协议地址和域来尝试访问该内部MTA 12的次数。
然后,内部MTA 12向数据库14返回一个通信,如箭头19所示,来查看对于该外部MTA 10,消息传送阈值是否已被超过。每个外部MTA 10都被分配一个动态消息传送阈值,它指示对于给定信任值的能够对内部MTA 12进行访问的次数。特定的外部MTA的经验越好,它被分配的信任值就越高,并且被赋予的在达到连接限制之前必须被超过的消息传送阈值就越大。
在这种情况下,消息传送阈值可能被超过或可能未被超过,并且被从数据库14通知给内部MTA 12。如果还没有超过该阈值,内部MTA 12接受该连接,而如果已经超过了,则可以采取其它措施。从而,如箭头16所示,连接接受(或拒绝)被通知给外部MTA 10。如果该连接被接受,外部MTA 10开始向内部MTA 12发送消息,如箭头17所示。
内部MTA 12继续跟踪随着时间的过去从MTA 10接收到的消息。然后,如箭头18所示,内部MTA 12确定消息传送阈值已被超过,并且例如,用指示稍后重试的临时错误码来丢弃与该外部MTA 10的连接。
作为另一个例子,在阈值被超过并且连接被拒绝之后,会出现一个对话,其中外部MTA 10尝试重试连接。外部MTA 10再次使用相同的域名,使用其相同的因特网协议地址来请求与内部MTA 12的另一个连接。内部MTA 12查找用于那个外部MTA 10的信任值。再一次,存在一个信任值并且记录了一个连接历史项。内部MTA 12查看对于该外部MTA 10,消息传送阈值是否已被超过。当然,该消息传送阈值已经被超过,因此,内部MTA再次用指示在足够长时间之后再重试的临时错误码来丢弃与该外部MTA 10的连接。
作为又一个例子,当外部MTA 10在阈值被超过之后重试连接时会出现一个对话,并且该连接被再次接受,但最终消息传送阈值会再次被超过。在这种情况下,外部MTA 10使用相同的因特网协议地址和域名来再次请求与内部MTA 12的一个连接。内部MTA 12使用外部MTA 10的完全合格的域名、其因特网协议地址、以及其进行连接的域来查找该外部MTA 10的信任值。再一次,存在一个信任值并且记录了一个连接历史项。内部MTA 12查看对于该外部MTA 10,消息传送阈值是否已被超过,并确定自从上次拒绝连接到现在已经经过了足够的时间,在该段时间中阈值没有被超过。然后连接被接受,并从外部MTA 10接收消息。那些随着时间的过去而接收到的消息被跟踪。最终,内部MTA 12确定消息传送阈值已经被超过,并用相应的错误码来丢弃与外部MTA 10的连接。
作为另一个例子,信任等级会随着时间改变,并对邮件传送起作用。在这种情况下,如果特定的外部MTA 10成功地与内部MTA 12进行通信并经过了一个时间间隔,则允许提高对于使用给定IP地址和域名的该外部MTA 10的信任值。从而,已经经过了足够的时间而没有任何问题出现,这样就达到了一个新的更高的信任等级,并且被分配了一个新的信任等级。这个新的信任等级允许在分配的时间间隔内传送更多的消息。
为了实现这个新的等级,外部MTA 10再次请求一个连接。内部MTA 12使用该外部MTA的域名和因特网协议地址及其连接域来查找对于该外部MTA的信任值。该新的信任值被用来分配一个更高的消息传送阈值,并且记录一个连接历史项。内部MTA 12查看对于该外部MTA 10,新的消息传送阈值是否被超过。由于它没有被超过,内部MTA 12接受该连接。从外部MTA 10向内部MTA 12发送消息,并且这些消息在随着时间的过去而被接收的同时被跟踪。基于该新的信任等级,可以允许一个提高了的消息传送率。最终,内部MTA 12确定消息阈值已经被超过,丢弃该连接,并发出一个指示稍后重试的临时错误码。
作为再一个例子,信任等级可以受所谓的外来信任影响因素(outside trust influencer)的影响。外来信任影响因素的例子可以是评级机构所分配的评级、白名单、或从别处接收的关于给定的外部MTA 10的信任值的信息。在这种情况下,外来信任影响因素可以使用垃圾邮件历史或者其它数据来确定对于一个给定MTA的信任值应该被改变。例如,外来信任影响因素可以确定外部MTA 10是已知的垃圾邮件源。这会降低它的信任值。对于外部MTA 10的信任值的新的查询返回新的信任值。换句话说,可以用来自外部源的新数据来装载数据库14,而不是用外部MTA 10和内部MTA 12之间的实际事务历史。
从而可以理解,直到内部MTA 12逐渐“了解”外部MTA 10之前,MTA 12通常会限制MTA 10可以进行连接的次数和频率。内部MTA 12使用基于过去的历史和潜在的外来影响因素的信任表单来假定一个信任程度。任何时候一个新域尝试入站(inbound)通信,由于在该新域能够向内部MTA 12发送消息的次数和速率上都受到限制,因此该新域都必须付出消息延迟的代价。已知域的新外部MTA由于在其能向内部MTA 12发送消息的速率上有限制,因此也会受到惩罚性的消息延迟。
随着时间的过去,该域存在的时间越长、并且该外部MTA保持相同的名称和地址越久,它就越被信任。因此,接收系统将愿意从给定的外部MTA接受更多的邮件。
从而,参见图2,通过接收一个连接请求,内部MTA软件12开始运行,如菱形框22所示。内部MTA 12检查确定正在进行连接的外部MTA的信任值,如菱形框24所示。如果存在一个信任值,则设置一个消息传送阈值,如框26所示。然后,在与外部MTA通信的过程中,在菱形框28,内部MTA检查确定消息传送阈值是否被超过。只要没有被超过,就可以接受新的连接,如框30所示,但那些连接和发送的消息都被记录并进行计数,如32所示。在菱形框28,这个连接和消息的计数被用于确定连接数目和/或连接率以及消息阈值是否被超过。当该阈值被超过时,该连接会被丢弃,并且会发出一个错误码,如框34所示。
如果不存在信任值,则会进行检查,以确定是否存在外来信任影响因素数据,如菱形框36所示。如果存在,该阈值会被设定为那个数据,并且那个数据被进一步存储在数据库14中,如框38所示。如果没有外来影响因素数据,那么会设定一个默认值,如框40所示。假定该默认值在一段时间上会允许相对受限的连接或消息数目,但这个值会基于性能和时间而增加。
在连接被记录后,在菱形框42进行检查,基于连接的历史来确定该信任值是否应该被增加。如果给定的外部MTA已经使用同样的因特网协议地址和同样的域名进行了足够多次的连接而没有出现问题,那么该信任值可以被增加,允许在消息传送阈值到达之前发送更高数目的消息。然后,该新阈值会被存储,如框44所示。
参见图3,基于接收处理器的系统50可以包括处理器52和输入/输出(I/O)接口60,该处理器通过总线54接到传统的部件,诸如无线接口这样的网络接口58。存储装置56,诸如硬盘驱动器、半导体存储器、或者其它存储器,可以存储内部MTA软件12。在本发明的一个实施例中,存储装置56可以是闪存。
本发明的一些实施例针对击跑(hit and run)策略可以是很有效的,这是因为它们使用时间上和过去的成功来建立一个基本信任表单。一些实施例可能并不需要任何其它基础结构的支持。另外,一些实施例可以开发一个动态的记录表,因此其中可以包含更少的无用记录。合法的消息传输代理不会被严重惩罚,这是因为算法允许随着时间的过去而降低惩罚等级。一旦MTA变得受信任,所有使用该MTA的发送者会从该信任中受益。一些实施例会回报以稳定性。如果一个MTA以一个不变的名字和因特网协议地址存在了一定长的时间,它会继续获得持续地更高的信任等级,而不被惩罚。本发明的一些实施例可以利用其它外来影响因素来工作,以加快决策。在一些实施例中,为了防止少数的垃圾消息被发送到非常大的分发列表,接收MTA可以将每个接收者作为一个单独的消息传送来进行计数,计算在一个给定时间段内允许的消息数目。在一些实施例中,为了防止非常大的不想要消息装载到系统,接收MTA可以计算传送的消息的大小,并限制在一个给定时间段内接收的数据量。
尽管针对有限数目的实施例对本发明进行了描述,但是本领域的技术人员可以理解,本发明可以有许多修改和变型。所附权利要求旨在覆盖落入本发明的精神和范围内的所有这样的修改和变型。
权利要求
1.一种方法,包括授权给定的消息传输代理在一个时间段内连接给定的次数和传送给定数目的消息;确定何时完成了所述给定数目的连接以及传送了所述给定数目的消息;以及在完成了所述给定数目的连接和传送了所述给定数目的消息之后,控制另外的连接。
2.根据权利要求1所述的方法,包括授权所述消息传输代理在一个时间段内传送给定数目的消息。
3.根据权利要求2所述的方法,包括确定何时传送了所述给定数目的消息,并在传送了所述给定数目的消息之后控制另外的连接。
4.根据权利要求1所述的方法,包括接收来自信任影响因素的信息,以调整给定的消息传输代理在一个时间段内能够连接的所述给定的次数。
5.根据权利要求1所述的方法,包括授权给定的消息传输代理在给定的时间段内完成给定的连接率。
6.根据权利要求1所述的方法,包括记录来自所述给定的消息传输代理的每个连接。
7.根据权利要求1所述的方法,包括基于给定的消息传输代理的连接历史,增加所述消息传输代理在一个时间段内可以连接的所述给定的次数。
8.根据权利要求1所述的方法,其中,控制另外的连接包括丢弃所述连接并发出错误码。
9.根据权利要求1所述的方法,包括阻止来自所述消息传输代理的给定大小的消息。
10.根据权利要求1所述的方法,包括将针对多个接收者的消息作为针对每个接收者的单独的消息进行计数,并使用所述计数来确定是否已达到消息阈值。
11.一种包括存储有指令的介质的制品,所述指令如果被执行,将使得基于处理器的设备授权给定的消息传输代理在一个时间段内连接给定的次数和传送给定数目的消息;确定何时完成了所述给定数目的连接以及传送了所述给定数目的消息;以及在完成了所述给定数目的连接和传送了所述给定数目的消息之后,控制另外的连接。
12.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备授权所述消息传输代理在一个时间段内传送给定数目的消息。
13.根据权利要求12所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备确定何时传送了所述给定数目的消息,并在传送了所述给定数目的消息之后控制另外的连接。
14.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备接收来自信任影响因素的信息,以调整给定的消息传输代理在一个时间段内能够连接的所述给定的次数。
15.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备授权给定的消息传输代理在给定的时间段内完成给定的连接率。
16.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备记录来自所述给定的消息传输代理的每个连接。
17.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备基于给定的消息传输代理的连接历史,增加所述消息传输代理在一个时间段内可以连接的所述给定的次数。
18.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备当超出所述给定数目的连接时,丢弃连接并发出错误码。
19.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备阻止来自所述消息传输代理的给定大小的消息。
20.根据权利要求11所述的制品,还存储有指令,所述指令如果被执行,将使得所述基于处理器的设备将针对多个接收者的消息作为针对每个接收者的单独的消息进行计数,并使用所述计数来确定是否已达到消息阈值。
21.一种基于处理器的设备,包括控制器;存储装置,其接到所述控制器并存储有指令,所述指令如果被执行,将使得所述基于处理器的设备授权给定的消息传输代理在一个时间段内连接给定的次数和传送给定数目的消息,确定何时完成了所述给定数目的连接以及传送了所述给定数目的消息,以及在完成了所述给定数目的连接和传送了所述给定数目的消息之后控制另外的连接;以及无线接口,其接到所述控制器。
22.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统授权所述消息传输代理在一个时间段内传送给定数目的消息。
23.根据权利要求22所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统确定何时传送了所述给定数目的消息,并在传送了所述给定数目的消息之后控制另外的连接。
24.根据权利要求22所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统接收来自信任影响因素的信息,以调整给定的消息传输代理在一个时间段内能够连接的所述给定的次数。
25.根据权利要求21所述的系统,所述存储装置还存储有指令,所述指令如果被执行,将使得所述系统授权给定的消息传输代理在给定的时间段内完成给定的连接率。
26.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统记录来自所述给定的消息传输代理的每个连接。
27.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统基于给定的消息传输代理的连接历史,增加所述消息传输代理在一个时间段内可以连接的所述给定的次数。
28.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统当超出所述给定数目的连接时,丢弃连接并发出错误码。
29.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统阻止来自所述消息传输代理的给定大小的消息。
30.根据权利要求21所述的系统,所述存储装置存储有指令,所述指令如果被执行,将使得所述系统将针对多个接收者的消息作为针对每个接收者的单独的消息进行计数,并使用所述计数来确定是否已达到消息阈值。
全文摘要
可以由一个系统来控制垃圾邮件和其它不想要的电子邮件,在该系统中,对使用给定的因特网协议地址和给定的域名的给定的外部消息传输代理(10),限制在给定时间段内它可以进行的连接数目和它可以传送的消息数目。基于该外部消息传输代理(10)的性能,经过的时间和连接数目,它被分配的连接限制可以被提高,从而信任度可以被逐步提高,并且可以允许更多的消息连接和传送更多数目的消息。
文档编号H04L29/06GK101040494SQ200580033156
公开日2007年9月19日 申请日期2005年10月13日 优先权日2004年10月14日
发明者D·迈耶斯, R·约翰逊, H·李 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1