电子邮件事务系统和方法

文档序号:6624965阅读:173来源:国知局
专利名称:电子邮件事务系统和方法
技术领域
本发明涉及网络计算领域,特别涉及一种电子邮件事务系统,其用于在高容量电子邮件事务系统内,基于地理变量确定向在分发列表内所标识的多个电子邮件地址发送电子邮件的时间段。
背景技术
很多组织使用电子邮件系统来进行它们的内部和外部通信。经常地,电子邮件用来在整个组织内向很多不同的人传递组织变化、即将发生的事件或新闻项等。在很多组织内,这经常可能意味着向处于不同国家或不同时区的雇员发送电子邮件通信。
向大量人发送电子邮件对网络和接收和处理电子邮件所需的邮件服务器可能具有严重的影响。在繁忙的组织内,电子邮件服务器不断受到一个接一个电子邮件的轰炸。在一天的特定时间,电子邮件服务器可能经历比一天的其它时间更高的网络通信量。例如,在星期五的午餐时间,更多的人可能由于准备周末放假而发送电子邮件,或者当启动新的广告宣传运动时,营销总监可能希望通过分发列表发送出电子邮件,从而向客户通知即将来临的广告宣传运动启动。
因此,雇员在特定日、星期或月时间的工作模式可能影响很多网络和邮件服务器处理增大的网络通信量的能力。在大多数电子邮件客户端应用中,当发送电子邮件时,发件人可以选择多个递送选项,例如,高优先级、中优先级或低优先级。通过选择低优先级,这将允许将电子邮件发送到发件人的邮件服务器并且发件人邮件服务器将‘扣留’该电子邮件,直到该组织认为是适于发送该电子邮件的时间为止。例如,在19:00时之后。这提供了这样的优点,即组织可以平衡在一天的高峰期发送的电子邮件数量。一些组织甚至可能命令在正常的工作时间内不可向大于例如100个收件人的分发列表发送电子邮件。经常地,个人可以通过例如以二十的倍数将分发列表分成较小的分发列表,以便传递紧急电子邮件来克服这一问题。
当向分发列表中居于不同的国家或者不同的时区内的收件人发送电子邮件时,出现另一问题。例如,当在非高峰期(20:00时到7:00时)内从处于英国的邮件服务器向处于澳大利亚的多个收件人发送电子邮件时,位于澳大利亚的收件人电子邮件服务器接收电子邮件以便处理的时间可能被确定为是高峰期。因此,这对收件人位置处的网络和邮件服务器产生了进一步的负担。
邮件系统经常根据组织需要来设计。典型地,该系统可包括单机实现或多机实现。在单机实现中,安装在该单个邮件服务器上的硬件和软件可能妨碍邮件系统快速且高效地处理大型分发列表。例如,由于处理能力、盘空间和操作系统方面的限制。另外,对于可由邮件软件处理的、分发列表内的条目数,也可能存在限制。
为了克服单机实现的限制,使用多机实现以便加快将分发列表分成较小列表以便由许多其它服务器处理的过程。这种布置要求大量的人力工作来决定划分分发列表的最适当方式,并且进一步确定哪些服务器应当处理所划分的分发列表。单机和多机实现都是低效的,并且不能管理网络通信量的增加、反复式(bounced)电子邮件、以及由邮件服务器接收的电子邮件的活动级别的变化。
美国专利申请公开号US 2002/0026484A1描述了用于处理大量电子邮件的方法和系统。该方法和系统采用了几组服务器,以便更高效地进行发向大量收件人的消息的处理和传送。这些服务器组被分类为A和B服务器。A服务器为包含电子邮件列表的数据库提供存储。在A服务器的控制之下所采用的B服务器执行电子邮件消息的海量递送。识别可用服务器的列表。对于该列表内的每个服务器,该系统进行检查以查看它是否已经分配了处理过程,并且开始通过这些服务器进行递送。如果没有发生这一情况,则该系统试图通过联系远程服务器并且试图尽可能多地保留资源来分配处理过程。
此外,US 2002/0026484A1使用从网络PING和跟踪路由获得的性能信息来计算网络跳转数,计算到目的邮件服务器的最短路径。然后,它基于当前进行的基础重新计算该信息,以动态地修改其邮件处理,并且仅使用该信息来选择最接近收件人服务器的发送服务器集。
美国专利申请公开号US 2002/0026484A1未解决大量邮件服务器在协作的性质内交互的问题,即多个邮件系统希望以协作的方式传送大量电子邮件的问题,因此两个邮件服务器可以以大量的电子邮件淹没相同的目的邮件服务器。
因此,在现有技术内需要一种用于减轻前述问题的方法和系统。

发明内容
从第一方面来看,本发明提供了一种用于确定向多个电子邮件地址发送电子邮件的时间段的方法,每一个电子邮件地址在分发列表内关联,并且该电子邮件被发送到与每个电子邮件地址相关联的至少一个目的服务器,该方法包括接收与分发列表相关联的多个电子邮件地址,每个电子邮件地址包括属性,该属性与所请求的向每一个电子邮件地址发送电子邮件的时间段有关;针对每个电子邮件地址,识别目的服务器,并且请求表示所识别的要接收该电子邮件或每一封电子邮件的目的服务器的能力的性能度量;分析每一个性能度量,以确定所识别的目的服务器是否能够在所请求的时间段内接收该电子邮件或每一封电子邮件;以及根据所识别的不能够接收每一封电子邮件的目的服务器,协商所识别的目的服务器能够接收该电子邮件或每一封电子邮件的时间段。
有利地,本发明提供了一种方法和系统,其中,进行确定以便确定目的邮件服务器是否能够处理与分发列表相关联的多个电子邮件。通过请求每个目的服务器的性能度量,执行分析以便了解目的服务器的处理能力。响应于目的邮件服务器所确定的处理能力和必须发送电子邮件的时间,发送电子邮件,或者与每一个目的服务器进行协商,以确定可用时间。因此,每个目的服务器可以控制它接收和处理电子邮件的时间。因此,避免了在目的服务器已经非常繁忙并且可用处理能力稀缺的时候,大量电子邮件‘冲击’目的服务器。每个邮件服务器不仅管理其外出电子邮件,而且与请求该邮件服务器接收多个电子邮件的其它邮件服务器进行协商。
优选地,本发明提供了一种方法,其中,当接收到与分发列表相关联的多个电子邮件地址时,将每个电子邮件地址与存储在目录服务中的电子邮件地址列表进行交叉匹配,以确保每一个电子邮件地址是有效的电子邮件地址。
优选地,本发明提供了一种方法,其中在识别目的服务器时,执行确定以识别所识别的目的服务器是否是所识别的邮件域的一部分。
优选地,本发明提供了一种方法,其中所识别的邮件域由目录服务定义。
优选地,本发明提供了一种方法,其中所识别的邮件域识别从哪些目的服务器请求性能度量。
优选地,本发明提供了一种方法,其中在识别目的服务器时,响应于所请求的优先级和所识别的目的服务器而执行确定,以确定每一个电子邮件地址的优先级。
优选地,本发明提供了一种方法,其中在协商可选时间段时,将请求可用时间段的消息传送到目的服务器。
优选地,本发明提供了一种方法,其中在预定次数的请求可用时间段的不成功尝试之后,将电子邮件发送到多个电子邮件地址的每一个。
从第二方面来看,本发明提供了一种用于确定向多个电子邮件地址发送电子邮件的时间段的系统,每一个电子邮件地址在分发列表内关联,并且该电子邮件被发送到与每个电子邮件地址相关联的至少一个目的服务器,该系统包括接收器组件,接收与分发列表相关联的多个电子邮件地址,每个电子邮件地址包括属性,该属性与所请求的向每一个电子邮件地址发送电子邮件的时间段有关;优先级确定引擎,用于为每个电子邮件地址识别目的服务器,并且请求表示所识别的要接收该电子邮件或每一封电子邮件的目的服务器的能力的性能度量;该优先级确定引擎分析每一个所请求的性能度量,以确定所识别的目的服务器是否能够在所请求的时间段内接收该电子邮件或每一封电子邮件;以及协商组件,根据所识别的不能接收每一封电子邮件的目的服务器,协商所识别的目的服务器能够接收该电子邮件或每一封电子邮件的时间段。
优选地,本发明提供了一种系统,其中,当接收到与分发列表相关联的多个电子邮件地址时,验证器组件将每个电子邮件地址与存储在目录服务中的电子邮件地址列表进行匹配,以确保每一封电子邮件地址是有效的电子邮件地址。
优选地,本发明提供了一种系统,其中在识别目的服务器时,验证器组件确定所识别的目的服务器是否是所识别的邮件域的一部分。
优选地,本发明提供了一种系统,其中所识别的邮件域由目录服务定义。
优选地,本发明提供了一种系统,其中所识别的邮件域识别从哪些目的服务器请求性能度量。
优选地,本发明提供了一种系统,其中在识别目的服务器时,优先级确定引擎响应于所请求的优先级和所识别的目的服务器,确定每一封电子邮件地址的优先级。
优选地,本发明提供了一种系统,其中在协商可选时间段时,协商组件生成用于传送到目的服务器以便请求可用时间段的消息。
优选地,本发明提供了一种系统,其中在预定次数的请求可用时间段的不成功尝试之后,协商管理器将电子邮件传送到多个电子邮件地址的每一个。


下面参考附图,仅作为示例详细地描述本发明的实施例,其中图1是可实施本发明的客户端和服务器环境的图示;图2是可实施本发明的分布式对等环境;图3是示出本发明的各个组件的组件图,其中这些组件组成将驻留在邮件服务器上的邮件分发系统;图4是详细描述本发明的邮件分发系统的操作步骤的高级概述的流程图。
图5是图4的流程图的继续;图6是图5的流程图的继续;图7示出了详细描述本发明的邮件分发系统的邮件处理过程的操作步骤的流程图;图8详细描述了本发明的邮件分发系统的优先级确定管理器的操作步骤;图9是图8的流程图的继续;图10是图8的流程图的继续;图11示出了详细描述本发明的邮件分发系统的协商引擎的操作步骤的流程图;以及图12是图11的流程图的继续。
具体实施例方式
图1示出了在网络1上相互通信的多个邮件服务器115、120和客户端设备100、105、110。每个客户端设备100、105、110包括用于创建、发送和从其它客户端设备接收电子邮件的电子邮件客户端软件140。电子邮件客户端软件140还允许创建分发列表。电子邮件客户端软件140与邮件服务器115、120上的邮件分发软件135接口。
每一个邮件服务器115、120都包括邮件分发软件135,其用于接收、处理、存储和排队(queue)意欲发往其它客户端设备100、105、110或服务器115、120的电子邮件。邮件服务器115、120可以形成单个邮件域或者形成多个邮件域。每个邮件服务器115、120耦接到网络,用于与其它邮件服务器115、120或客户端设备100、105、110通信。邮件服务器115、120可以包括符合组织要求的任何邮件分发软件140。邮件服务器115、120可包括邮件传输代理(MTA)125和用于处理大型分发列表的邮件列表管理器(MLM)130。
可以将电子邮件从客户端设备100、105、110发送到网络1以便由邮件服务器115、120接收。例如,网络1可包括因特网、内联网、广域网、局域网、WiFi网络或者用于发送和接收电子邮件或其它形式的消息的任何其它类型的网络。
可以使用简单邮件传输协议(SMTP)或者用于发送电子邮件或消息的其它适合协议,在网络1上将电子邮件发送到收件人。电子邮件由邮件中继器接收,其中邮件中继器参考域名服务器(DNS),以便将电子邮件地址转换成维护收件人电子邮件帐户的邮件服务器115、120的网络地址。一旦完成了该转换,就建立与邮件服务器115、120的通信链路。
除了位于邮件服务器115、120上的MTA 125之外,还安装了MLM 130以便处理在分发列表内识别的每一个收件人电子邮件地址。当接收到与分发列表相关联的电子邮件时,MTA 125将该电子邮件随同分发列表一起移交给MLM 130。在检查该电子邮件之后,MLM 130列举该列表的各个收件人,并且将具有特定收件人列表的消息返回给MTA以便分发。MLM开启与MTA的网络连接,而且MTA将该电子邮件排入队列以便分发到所有预定收件人。
客户端设备100、105、110可以访问邮件分发接口以便与邮件服务器115、120上的邮件分发软件通信。邮件分发接口可包括用于上载在客户端设备100、105、110处创建的通信和分发列表的万维网浏览器接口。该通信可采取简讯、公司公告、告示牌或者向大量收件人传递所需的任何其它类型信息的形式。
在本发明的另一个实施例中,并且参考图2,示出了可以在大型组织内找到的邮件服务器115、120的分级分布式网络。每个邮件服务器115负责接收、处理和传送从其它邮件服务器115接收的电子邮件。该网络优选地是松散耦接的,并且被设计成降低邮件服务器115和其组件之间的互依赖性。松散耦接的环境提高了增加邮件服务器115和修改各个组件的操作的灵活性。网络拓扑结构可以以适合组织需要的多种方式来布置。优选地,在大型组织内,通过国家或地区特定位置来布置网络拓扑结构。
如图2所示,形成网络拓扑结构的邮件服务器115通过国家特定位置来划分。处于最高级别的是父或根邮件服务器,例如美国和EMEA父邮件服务器200、205,然后是子邮件服务器210、215,即为美国邮件服务器200的子邮件服务器的北部(North)和东部(East),以及是北部和东部邮件服务器的子邮件服务器的马瑟那(Massena)、沃丁顿、肯塔基和西弗吉尼亚230、235、240、245。英国和法国邮件服务器是EMEA邮件服务器的子邮件服务器220、225,并且爱尔兰和英格兰邮件服务器是英国邮件服务器的子邮件服务器260、265,并且最后,北部和西南部邮件服务器250、255是法国邮件服务器220的子邮件服务器。应当注意,子邮件服务器也可以是父邮件服务器。
每个父邮件服务器210、215、220、225、200、205与其子邮件服务器230、235、240、245、250、255、260、265协作,并且反之亦然。可以在从子邮件服务器的上游方向上和/或从父邮件服务器向下通过子邮件服务器的下游方向上传送电子邮件消息。
在另一个实施例中,如在对等网络内那样,父邮件服务器可以与其它父邮件服务器协作,并且子邮件服务器可以与其它子邮件服务器协作。
为了发起分发请求以便由邮件服务器115、120处理,首先,用户必须通过访问客户端设备100、105、110上的电子邮件分发软件或者通过访问电子邮件分发万维网接口来发起分发。可以通过启动简档创建器来创建邮件简档(profile)。邮件简档可以包括这样的信息,诸如发件人名称、收件人地址详细信息、帐户详细信息和邮件选项,例如递送优先级、接收确认、发起者显示名称、回复名称、未递送报告和任何安全性设置。当完成所创建的邮件简档时,用户能够创建分发列表。向用户呈现一个表单,其包括用于包括收件人电子邮件地址的输入条目字段。邮件简档可以随时被修改。当完成邮件简档和分发列表时,将邮件简档和分发列表作为预订请求提交给邮件分发系统。该预订请求还可以包括分发列表的优先级评级。优先级表示发件人希望发送分发内容的紧急程度。图3示出了将驻留在邮件服务器115、120上的邮件分发系统中的各个组件,即简档管理器300、优先级确定引擎305、与数据存储装置350协作的邮件管理引擎310、关系管理引擎315、协商管理器320、邮件生成引擎330、邮件处理引擎340以及地址验证引擎330。图3还示出了目录服务345、MTA 350、性能代理355和邮件中继器360,它们都是现有技术的公知组件(以虚线表示),但是邮件分发系统与它们协作以便发送电子邮件。
邮件分发系统的每个组件增强并修改了由邮件服务器115、120上的MLM 130和MTA提供的功能性。这些组件可以在图1和2所述的环境的任一个中工作。
当接收到预订请求时,邮件管理引擎310从该预订请求提取邮件简档,并且将邮件简档传送到简档管理器300,以便更新或创建新的邮件简档。
验证组件335请求访问在分发列表内列出的每个电子邮件地址,以便检查收件人的电子邮件地址是否是有效的电子邮件地址,以及目的地是否是有效的邮件服务器115、120。这通过在分发列表中的收件人电子邮件地址与目录服务345中的收件人电子邮件地址之间执行交叉匹配来实现。目录服务包括有关这样的详细信息,即关于每个电子邮件地址、每个电子邮件地址的目的服务器和组织域内的邮件服务器的人口统计(demographic)详细信息。包括服务器详细信息允许邮件分发系统的管理员界定组织邮件系统的边界-因此产生邮件服务器115、120和耦接到邮件服务器115、120的网络1的地图。
存储在目录服务中的信息类型可以包括以下项·收件人和发件人的电子邮件地址·被使用的邮件系统类型,即POP3、IMAP·邮件服务器的邮件域·邮件服务器的地理域·邮件服务器的IP地址·远程网关的IP地址·服务器群集·配置·证书·服务器邮件简档·网络·程序本领域的技术人员应当理解,可以存储其它详细信息,而不局限于上述列表。
邮件分发系统可以包括多个目录服务345,每个目录服务345可以通过人口统计域,例如,美国、英国、法国、意大利、德国和日本分类(如图2所示,反映对等网络的结构)分类,或者通过公司分类,例如,一个目录服务345可以被定名为IBM,并且另外的目录服务345可以通过商业伙伴等分类。每个目录服务345可以链在一起,以界定该组织的邮件域。
目录服务还可包括用于检验收件人是谁以及发件人是谁的数字证书和加密装置-因此,仅从合法实体而不从试图通过发送垃圾邮件使网络超载的实体发送和接收。
一旦接收了请求,而且验证组件335已经确定分发列表内的每个电子邮件地址是有效的电子邮件地址,则验证组件335继续分析分发列表,以便通过,例如地理区域对分发列表进行分类。如何对分发列表进行分类取决于网络拓扑结构内邮件服务器115、120的分类。例如,回到图2,分发列表可以被划分成目的地为美国、美国北部、美国东部、EMEA、英国、英格兰、爱尔兰、法国、法国西南部和法国北部的电子邮件组。验证组件335将经过编组的电子邮件地址集连同其递送优先级一起放置在数据存储装置中,以便向邮件管理引擎310告警以继续处理预订请求。
性能评估器325与邮件监测系统(未示出)接口。邮件监测系统将探测器(probe)发送到网络1中。网络1由目录服务345内的邮件服务器115、120条目定义。如在目录服务345内所界定的那样,邮件探测器可以探测(ping)各个邮件服务器115、120,以确定邮件服务器115、120是否正在运行,哪些邮件服务器115、120当前执行得非常慢,哪些邮件服务器115、120正在使用大量带宽,确定哪些MAC地址是最活跃的,并且一般地确定邮件服务器网络的总体网络通信量。
当接收到由邮件监测系统生成的统计数据时,性能评估器325确定哪些邮件服务器115、120在正常工作条件下工作,并且可以接受另外的网络通信量而不使网络超载,以及哪些邮件服务器115、120在特定时刻不能接受另外的网络通信量。
例如,回到图1,可以向邮件服务器120发送ping命令,服务器在可接受的时间范围内并且在不丢失数据分组的情况下或者在可接受的数据分组丢失的情况下响应。作为选择,向服务器115发送ping命令,并且服务器115在不可接受的时限内响应。根据该统计数据,性能评估器325可以评估服务器120具有接受另外通信的能力,但是相反,确定出服务器115在此特定时刻不具有接受另外通信的能力。预定时间段内将ping命令传送到邮件服务器115、120的次数是可变的,并且可以由系统管理员配置。可以确定在通过网络传送高峰负载之后,应当发送ping命令来确定邮件服务器115、120是否仍然正在预先配置的工作边界内执行。作为选择,可以仅仅在上午一次、在下午一次、然后在傍晚又一次将ping命令发送到邮件服务器115、120。每当决定收集或更新与每个邮件服务器115、120有关的统计信息时,重要的是,获取每个邮件服务器115、120的当前和预计负载,使得各个ping命令不产生不必要的网络通信量,并且因此使网络内的邮件服务器115、120的一个或全部超载。
当分析每个邮件服务器115、120的统计信息时,将所分析的数据传递到邮件管理引擎310,以便传送到优先级确定引擎305。
邮件管理引擎310提供由邮件分发系统内的每个组件产生的活动之间的协调,并且监测每个组件以便确保它们正确地工作。来自简档管理器300、优先级确定引擎305、关系管理引擎315、性能评估器325和邮件生成引擎330的输出被传递到邮件管理引擎310,以便存储在数据存储装置350中。
继续说明优先级确定引擎305;优先级确定引擎305基于所请求的时间、邮件是否已经被请求为紧急、以及目的邮件服务器115、120的可用性,确定各个邮件的优先级。优先级确定引擎305包含规则引擎,其用于解析数据并且将该数据与规则集相匹配以便确定优先级。一旦确定了优先级,优先级确定引擎305进一步通过目的邮件服务器115、120和优先级对邮件进行分类。例如,获得下面队列中的每一个美国队列abc@ibm.us.com,优先级1,窗口1/10/04<19:00def@ibm.us.com,优先级2,窗口1/10/04>23:00英国队列ghi@ibm.uk.com,优先级1,窗口1/10/04<02:00ikl@ibm.uk.com,优先级3,窗口1/10/04>19:00法国队列mno@ibm.france.com,优先级1,窗口1/10/04<19:00
爱尔兰队列pqr@uk.ire.com,优先级1,窗口1/10/04<19:00每个队列内的每个条目包括经过验证的电子邮件地址、优先级(由优先级确定组件生成)以及应当将邮件传递到目的服务器的优选时间范围。在本例中,优先级‘1’比优先级‘2’或‘3’等更优先,但是本领域的技术人员应当理解,任何其它数值布置也将适用。
将每个邮件服务器115、120的每个队列传送到邮件管理引擎310,以便存储在数据存储装置350中,并且传送到协商管理器320,以便与每个目的服务器115、120协商将要发送每个邮件的时隙。
在获得每一个队列之后,协商管理器320与每一个目的服务器进行通信,以确定目的服务器是否能够在特定时隙接收邮件。
在一个实施例中并且参照图1,协商管理器320通过向在每个队列内识别的每个邮件服务器115、120发送消息来与服务器115、120通信,进行目的服务器是否能够在特定时间接受有效载荷的请求。当接收到肯定响应时,协商管理器320将每个邮件发送到接受目的服务器。
当从邮件服务器115、120接收到否定响应时,协商管理器320对邮件服务器115、120将接受这些邮件的时隙进行协商。一个邮件服务器115、120上的协商管理器320和另一个邮件服务器115、120上的协商管理器320之间的协商将考虑有效载荷的优先级以及必须发送电子邮件的时间范围。
在每个协商管理器320与其它协商管理器320进行协商以便预订用于发送其邮件的时隙的同时,协商管理器320还将与其它协商管理器320协商用于接收其它协商管理器320的邮件的时隙。
在优选实施例中并且参照图2,每个邮件服务器115、120是担当指定地区的基本服务器的主服务器。例如,从服务器230开始;服务器230是马瑟那地区的主服务器,服务器235是沃丁顿地区的主服务器,而且服务器240是肯塔基地区的主服务器等。每个主服务器负责发送到其指定地区的邮件。这些邮件将被传播到目的服务器的主服务器以便处理。关系管理引擎315负责定义域内的邮件服务器115、120之间的关系。例如,定义哪些邮件服务器115、120为客户端/服务器关系,以及哪些邮件服务器定义对等关系。这些关系可以由邮件分发系统的管理员定义。如果例如从对等关系中删除服务器,则通过关系管理引擎210更新该信息。
例如,服务器260确定它具有要发送到分发列表的多个电子邮件。该分发列表包括下述三个电子邮件地址1.abc@ibm.us.com,优先级1,窗口1/10/04<19:002.jkl@ibm.uk.com,优先级3,窗口1/10/04>19:003.mno@ibm.france.com,优先级1,窗口1/10/04<19:001号电子邮件地址具有美国的目的服务器。规则规定到美国的所有通信必须通过EMEA服务器授权。因此,将该电子邮件传播到260的父主服务器,即主服务器225,主服务器225又将该电子邮件传播到225的主服务器,即EMEA服务器205。EMEA主服务器205在接收到电子邮件时与美国主服务器协商,以便接受该电子邮件。
2号电子邮件地址具有英国的目的服务器。由于英国主服务器225是主服务器260的父,因此将电子邮件传播到英国主服务器225,以便传送到其本地服务器。
3号电子邮件地址具有法国的目的服务器。规则规定到法国的所有通信必须通过英国服务器授权。因此,将电子邮件传播到260的父主服务器,即主服务器225。在这种情况下,主服务器225是主服务器220(法国)的对等主服务器。因此,英国主服务器225直接与法国主服务器220进行协商。
最后,邮件处理引擎340与MTA协作,以将与分发列表有关的、经过优先级确定和协商的电子邮件传送到每一个识别的邮件服务器115、120。
继续说明图4、图5和图6,其示出了邮件分发系统的操作步骤。首先参照图4,在步骤405,简档管理器300传送来自邮件简档的预订请求。该预订请求包括在分发列表内列出的每个收件人的电子邮件地址,它们的属性和要发送的电子邮件的内容,在步骤335,由验证引擎335接收该预订请求,以便验证每个电子邮件地址。验证引擎335通过在目录服务345中执行查询来执行检查,以确定每个电子邮件地址是否是有效的电子邮件地址。一旦验证了每个电子邮件地址,则在步骤420,验证组件335创建验证过的电子邮件地址的列表、以及每个验证过的电子邮件的目的地和邮件域(从邮件简档中提取)。在步骤455,将验证过的列表传送到优先级确定引擎305,以便确定应当向每一个收件人发送每一封邮件的次序的优先级。
在步骤415,优先级确定引擎305在接收到验证过的列表时,确定邮件生成引擎310是否从另一个服务器115、120,例如另一个主服务器、从服务器或对等服务器接收到外部预订请求。并行地,在步骤440,邮件生成引擎310将所接收的、与每个目的服务器115、120有关的性能统计信息传送到性能评估器325以便分析。性能评估器325从监测系统请求最近的性能统计信息,以便更新存储在数据存储装置中的统计信息,以便由其它组件分析和使用。
继续到图5,在步骤500,优先级确定引擎305在图4的步骤420和450接收到输入时,继续对负责将电子邮件分发到收件人的处理的目标邮件服务器115、120进行识别。当识别出目的邮件服务器115、120时,在步骤505基于收件人的目标域并且按照其优先级对收件人进行编组。在步骤510,将这些组传送到协商管理器320,以便与每一个收件人邮件服务器115、120协商时隙。在步骤515,生成预订请求,以便发送到邮件生成引擎,用于发送到每一个目的邮件服务器115、220。邮件生成引擎330在图6的步骤600向每一个目的邮件服务器115、120发送该预订请求,并且进入循环并等待来自预定数目的邮件服务器115、120的响应。在执行动作之前指定应当分配多少邮件服务器115、120来响应协商管理器320以便避免不必要的延迟是合理的。
当接收到响应时,邮件生成引擎330聚集每一个响应,并且在步骤615确定目的邮件服务器115、120是否同意包含在预定请求内的日期和时间,或者在步骤615确定是否必须与协商管理器320重新协商新的时间。如果确定进行重新协商,则将响应发送到协商管理器320,以便协商新的时间和新的预定请求。作为选择,如果目标邮件服务器接受预订请求,则在步骤625连同电子邮件内容一起传送编组的分发列表。
继续说明图7,其示出了邮件处理过程的操作步骤。当发起预订请求时,在步骤700,邮件分发系统进入循环过程。在步骤705,如果邮件为内部邮件,即在邮件服务器115、120的域内,则在步骤715和步骤710检索关于该邮件的信息,并且构造该邮件,即对其进行编组和确定优先级。在步骤720,将邮件发送到所识别的目的邮件服务器115、120。
继续说明步骤730,如果邮件被识别为外部邮件,则在步骤735和步骤740,从输入队列检索关于该邮件的信息。在步骤745,分析这些邮件,并且按照它们的目的邮件服务器115、120和优先级对其进行编组。在步骤750,进行关于预订请求是对现有预订请求的更新还是新的预订的确定。在步骤755发出请求,以确定自从前一请求以来是否更新了性能统计信息。如果在步骤755,统计信息(被更新或未被更新)连同请求确定优先级的预订一起被发送到优先级确定引擎305。将经过优先级确定的组置于队列中,以便由协商管理器320访问。协商管理器解析该队列,并且提取每个邮件的优先级、目的邮件服务器115、120和时隙,并且在步骤中进行和所识别的邮件服务器的联系,以便协商发送这些邮件的时隙。当完成了成功协商时,在步骤760,目的邮件服务器返回表示经过协商的时隙的确认消息。
现在参照图8,其示出了优先级确定引擎305的操作步骤。在步骤800,由优先级管理器305确定预订请求是用于改变、增加还是删除预订请求。如果该请求用于删除预订请求,则控制移到步骤805,并且识别与该删除有关的主、从或对等服务器,并且在步骤810生成删除预订请求以便发送到所识别的服务器。
回到步骤800,如果确定增加新预订请求,则控制移到步骤825,并且根据包含在该预订请求内的每一个电子邮件地址的目的邮件服务器115、120,编组这些电子邮件地址。接下来在步骤830,识别为了递送这些电子邮件所需的每一个目的邮件服务器115、120。在步骤835进行进一步的确定,以识别负责向经过编组的收件人和目的邮件服务器115、120递送的相关主和对等服务器。
在步骤840,优先级确定引擎305获取在界定域内识别的每一个服务器的可用性信息。控制移到确定845,并且进行确定以确定是否存在应当被联系以添加新预订请求的任何主或从服务器。如果作出肯定的确定,则生成预订请求,并且将其传送到邮件生成引擎330,以便发送。
回到确定820,如果确定用于改变现有预订,则在步骤815,按照收件人的目的服务器对他们进行编组。当步骤815完成了时,在步骤850识别递送邮件所需的目的邮件服务器115、120,并且在步骤855识别相关的主、从或对等服务器。在步骤860,请求被识别为界定邮件域的一部分的每一个目的服务器115、120的性能统计信息。在步骤865进行确定,以确定预订请求是否影响在界定邮件域内识别的服务器。
继续说明图9,在步骤900,优先级确定引擎305确定是否可以在与邮件简档内请求的时间不同的时间发送邮件。如果该确定是肯定的,则控制移到步骤910,并且进行进一步的确定,以识别可选的预订时隙。相反,如果该确定是否定的,则控制移到步骤905,并且识别在原始预订时隙的范围内的多个公共预订时隙。回到控制915,进行确定,以便为邮件域内的每一个邮件服务器115、120识别所有可用的预订时隙,并且在步骤920和925,一旦约定了预订时隙,则生成响应消息,以便将其发送到邮件生成引擎330。
参照图10,在步骤1000,执行进一步的确定,以识别所请求的预订是否与目标邮件服务器的运行中断期冲突,如果响应是否定的,则控制移到步骤1005,并且与所识别的目的邮件服务器115、120预订邮件时隙。在步骤1010,执行进一步的确定,以判定对预订请求的改变是针对在所识别的界定域内的服务器115、120,还是针对未被识别为在界定域内的服务器。如果识别出预订针对本地服务器,则对预订时隙进行预订。如果该改变影响外部服务器,则在步骤1040生成预订确认消息,并且将其传送到邮件生成引擎以便发送。
回到控制1000,如果作出肯定的确定并且该邮件与另一个预订请求或已知的服务器运行中断期冲突,则控制传到步骤1015,并且确定新预订请求的优先级是否大于现有预订请求的优先级。如果该确定是肯定的,则在步骤1025执行进一步的确定,以识别是否能满足现有时隙。如果能,则保留现有预订(步骤1030)并且确认新的预订。如果该确定是否定的,则在步骤1040将现有预订标志为挂起重新预订,并且将其传递到邮件生成引擎310。
继续图11和12,其中说明了协商管理器320的操作步骤。图11详细描述了协商管理器320的操作步骤的高级概述,并且图12更详细地说明了每一个步骤。
在图11的步骤1100,启动循环过程,并且协商管理器320等待来自邮件生成引擎330的入站消息。当接收到该消息时,协商管理器320继续与每一个目的邮件服务器115、120协商时隙。一旦发送了预订请求,则协商管理器320等待来自预定数目的目的邮件服务器115、120的响应,并且取决于所接收的响应,在步骤1100重新协商预定时隙,或者在步骤1120继续预订约定时间段内的时隙。
继续说明图12,当在步骤1200接收到响应时,协商管理器320确定(步骤1210)它应当与多少更多的邮件服务器115、120通信,以便在步骤1205满足预订请求的要求。如果接收到响应,并且没有更多的邮件服务器115、120来进行通信,则在步骤1245,在每一个经过确认的时隙聚集所有响应。如果所有接收到的响应表示可以在原始请求时间满足所有预订,则在步骤1250生成确认消息,并且将其传送到每一个所识别的目标邮件服务器。回到步骤1210,如果确定存在多于一个目标邮件服务器要响应,则在步骤1105进行进一步的确定,以确定协商管理器是否正在等待来自其它目标邮件服务器的任何另外响应。如果该确定是肯定的,则协商管理器320确定预订请求是否具有高优先级的状态(步骤1220)。
如果该确定是肯定的,则进一步确定是否可以满足预订请求,例如,如果它具有高优先级,或者必须在下一天发送该邮件,是否有可能在这样短的时间尺度内满足预订请求(步骤1230)。如果该确定是否定的,则协商管理器320继续到协商过程的下一个步骤,即步骤1245。如果该确定是肯定的,则协商管理器320等待另外的响应。在这种情况下,控制移到步骤1245,并且再次地,协商管理器320聚集所有响应,并且在步骤1250确定这些响应是否表示是否可以按照原始预订满足该预订。如果该确定是否定的,则确定是否可以在与所请求的时间不同的时间发送邮件。如果响应是肯定的,则在步骤1265,协商管理器识别用于每个预订和每个目的服务器115、120的选项。进行进一步的协商,以确定是否能够满足新提出的时隙。如果该响应是否定的,则在步骤1285识别另外的时隙。继续该过程直到可以满足约定的时隙为止。如果邮件具有足够高的优先级,则可以强制发送该邮件,或者如果不能满足该邮件,则可以将否定响应发送给请求者。
回到控制1290,如果不能在不同的时间发送邮件,则控制移到步骤1255,并且识别在界定域内所有目标服务器之间的公共预订时隙。响应于识别步骤,协商管理器320继续在步骤1260选择大多数目的邮件服务器115、120能满足的最佳公共时隙。在步骤1270进行进一步的确定,以确定该邮件是否与另一个邮件冲突。如果响应是否定的,则预订该邮件时隙。如果响应是肯定的,则进行另外的协商,以识别空闲的时隙。在进行其中未协商出约定时间的协商步骤预定次数之后,协商管理器320施行强制的预订,并且发送邮件。
权利要求
1.一种用于确定向多个电子邮件地址发送电子邮件的时间段的方法,其中每一个电子邮件地址在分发列表内关联,并且该电子邮件被发送到与每个电子邮件地址相关联的至少一个目的服务器,该方法包括接收与分发列表相关联的多个电子邮件地址,每个电子邮件地址包括属性,该属性与所请求的、向每一个电子邮件地址发送电子邮件的时间段有关;针对每个电子邮件地址,识别目的服务器,并且请求表示要接收该电子邮件或每一封电子邮件的所识别的目的服务器的能力的性能度量;分析每一个性能度量,以确定所识别的目的服务器是否能够在所请求的时间段内接收该电子邮件或每一封电子邮件;以及根据所识别的、不能够接收该电子邮件或每一封电子邮件的目的服务器,协商所识别的目的服务器可以接收该电子邮件或每一封电子邮件的时间段。
2.如权利要求1所述的方法,其中,当接收到与分发列表相关联的多个电子邮件地址时,将该电子邮件地址或每个电子邮件地址与存储在目录服务中的电子邮件地址列表进行匹配,以确保每一个电子邮件地址是有效的电子邮件地址。
3.如权利要求1所述的方法,其中在识别目的服务器时,执行确定,以识别所识别的目的服务器是否是所识别的邮件域的一部分。
4.如权利要求3所述的方法,其中所识别的邮件域由目录服务定义。
5.如权利要求1和权利要求3所述的方法,其中所识别的邮件域识别从哪些目的服务器请求性能度量。
6.如权利要求1所述的方法,其中在识别目的服务器时,响应于所请求的优先级和所识别的目的服务器而执行确定,以确定每一个电子邮件地址的优先级。
7.如权利要求1所述的方法,其中在协商可选时间段时,将请求可用时间段的消息传送到目的服务器。
8.如权利要求8所述的方法,其中在请求可用时间段的不成功尝试预定次数之后,将电子邮件发送到该多个电子邮件地址的每一个。
9.一种用于确定向多个电子邮件地址发送电子邮件的时间段的系统,其中每一个电子邮件地址在分发列表内关联,并且该电子邮件被发送到与每个电子邮件地址相关联的至少一个目的服务器,该系统包括接收器组件,接收与分发列表相关联的多个电子邮件地址,每个电子邮件地址包括属性,该属性与所请求的向每一个电子邮件地址发送电子邮件的时间段有关;优先级确定引擎,用于针对每个电子邮件地址,识别目的服务器,并且请求表示要接收该电子邮件或每一封电子邮件的所识别的目的服务器的能力的性能度量;该优先级确定引擎分析每一个请求的性能度量,以确定所识别的目的服务器是否能够在所请求的时间段内接收该电子邮件或每一封电子邮件;以及协商组件,根据所识别的不能接收每一封电子邮件的目的服务器,协商所识别的目的服务器可以接收该电子邮件或每一封电子邮件的时间段。
10.如权利要求9所述的系统,其中,当接收到与分发列表相关联的多个电子邮件地址时,验证器组件将每个电子邮件地址与存储在目录服务中的电子邮件地址列表进行匹配,以确保每一个电子邮件地址是有效的电子邮件地址。
11.如权利要求9所述的系统,其中在识别目的服务器时,验证器组件确定所识别的目的服务器是否是所识别的邮件域的一部分。
12.如权利要求11所述的系统,其中所识别的邮件域由目录服务定义。
13.如权利要求9和权利要求11所述的系统,其中所识别的邮件域识别从哪些目的服务器请求性能度量。
14.如权利要求9所述的系统,其中在识别目的服务器时,优先级确定引擎响应于所请求的优先级和所识别的目的服务器,确定每一个电子邮件地址的优先级。
15.如权利要求9所述的系统,其中在协商可选时间段时,协商组件生成用于传送到目的服务器以便请求可用时间段的消息。
16.如权利要求15所述的系统,其中在请求可用时间段的不成功尝试预定次数之后,协商管理器将电子邮件传送到该多个电子邮件地址的每一个。
17.一种可装载到数字计算机的内部存储器中的计算机程序产品,其包括用于当在计算机上运行所述产品时,执行以便实施如权利要求1至8所述的发明的软件代码部分。
全文摘要
本发明提供了一种方法和系统,其中,进行确定以便确定目的邮件服务器是否能够处理与分发列表相关联的多个电子邮件。通过请求每个目的服务器的性能度量,执行分析以便了解目的服务器的处理能力。响应于目的邮件服务器所确定的处理能力和必须发送电子邮件的时间,发送电子邮件,或者与每一个目的服务器进行协商,以确定可用时间。因此,每个目的服务器可以控制它接收和处理电子邮件的时间。因此,避免了在目的服务器已经非常繁忙并且可用处理能力稀缺的时候,大量电子邮件“冲击”目的服务器。
文档编号G06Q10/00GK1783851SQ20051007892
公开日2006年6月7日 申请日期2005年6月17日 优先权日2004年12月3日
发明者尼古拉斯·J·米奇利 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1