具有混合代理/存储-并-转发逻辑的消息网关的制作方法

文档序号:7935580阅读:247来源:国知局
专利名称:具有混合代理/存储-并-转发逻辑的消息网关的制作方法
技术领域
本发明涉及消息网关,尤其涉及具有混合代理/存储-并-转发逻辑的消息网关。
背景技术
通过主控的电子邮件过滤服务,将尝试向SMTP (简单邮件传输协议)递送系统发送邮件消息的外部客户端的发送者导向电子邮件过滤服务/服务器(以下简称为“过滤服务”)。过滤服务通常被实现为SMTP中继或网关,要么接受消息要么拒绝消息。例如,来自已知为坏的发送者(例如,“垃圾邮件发送者”)的消息可被拒绝。如果消息被接受,则过滤服务有责任将该消息发送到递送SMTP系统。过滤服务扫描消息头部和主体以不同于处理其他消息的方式来处理不期望的消息。一般地,关于接收消息、扫描它们以及递送通信,这样的过滤服务要么使用“代理”语义要么使用“存储-并-转发”语义。各个类型的语义都有益处和缺点。代理语义在外部SMTP发送客户端和过滤服务之间的TCP连接,以及过滤服务和递送系统之间类似的连接上操作。基于代理的过滤服务处理(扫描)消息并代理去往递送服务器和发送者以及来自递送服务器和发送者的通信,而不将消息写入盘中或对消息承担正式责任。这对大多数消息而言是简单、成本低的、促进高吞吐量、引入相对少的延迟,并避免了对发送反弹(bounce)消息/NDR(非递送报告/接收)或隔离(quarantining)消息的需要。然而,使用代理语义,在扫描发生期间必须保持外部客户端和过滤服务之间的连接;对于慢的连接和/或大的消息(包括具有大的附件的消息)而言,这会是易于出错的。 此外,如果在尝试递送到递送系统时发生瞬态错误,则整个会话需要停止并在稍后被重试, 包括对被重新提交的消息进行冗余的扫描。另外,在大的负载的情况下,基于代理的过滤服务可能不能处理接收到的消息,并且必需向外部发送客户端返回响应(例如,400-级响应),该响应基本上指示那些客户端稍后再试。相反,存储-并-转发类型的过滤服务将每个接受到的输入消息写入盘上并接着关闭与外部客户端的连接。存储-并-转发类型的过滤服务接着按需处理消息,并维持该消息直到该消息到递送系统的转发成功。这提供了在诸如当递送系统(目的地邮件服务器) 不可用或当消息特别地大的特定环境下更可预测和可靠的结果。通过存储消息,包括具有大的附件的大的消息可被分析而无需保持打开的TCP连接。此外,可以通过重新尝试消息发送直到成功来克服瞬态错误,而不需要使消息遭受冗余的过滤。另外,如果过滤服务在大的负载的情况下,则过滤服务依然能接受邮件,该邮件保持排队直到负载减轻。然而,存储-并-转发语义的缺点包括,存储是昂贵的。此外,被拒绝的邮件需要以某种方式被处理,因为删除邮件是与SMTP规范相背的,而被发送的NDR反弹通知常常被误认为垃圾邮件。隔离消息增加了存储成本。另外,在端对端递送中存在更多的延迟,并且如果过滤服务在对消息正式负责之后而在该消息被递送之前崩溃或失败,则存在邮件丢失的风险。

发明内容
提供本发明内容以便以简化形式介绍将在以下的具体实施方式
中进一步描述的一些代表性概念。本发明内容不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在以限制所要求保护的主题的范围的任何方式来使用。简言之,在此描述的主题的各个方面涉及网关/中继内的技术,诸如包括代理和存储-并-转发逻辑的电子邮件过滤服务。当接收到电子消息(例如,电子邮件消息)时, 使用代理逻辑来初始地处理该消息。服务(例如,其中的代理逻辑)可基于对一个或多个情形的检测来确定使用存储-并-转发逻辑进一步处理该消息。例如,一个情形可以是代理逻辑不能在超时时段内完成对消息的过滤扫描,由此代理逻辑调用存储-并-转发逻辑来完成对该消息的处理。其他情形包括,在代理逻辑内作出的递送尝试例如由于瞬态错误在递送超时时段之前没有完成,或失败了。当遇见这样的情形时,存储-并-转发逻辑接受消息,包括存储该消息、发送指示该消息被接受的响应,以及关闭通过其接收消息的连接。任何扫描,如果代理逻辑没有完成,存储-并-转发逻辑可以完成。消息(如果没有被任何扫描阻止)被排队以供递送,并且尝试的递送可以被重新尝试(例如,如果发生瞬态错误)直到消息被递送。结合附图阅读以下具体实施方式
,本发明的其他优点会变得显而易见。


作为示例而非限制,在附图中示出了本发明,附图中相同的附图标记指示相同或相似的元素,附图中图1是表示在混合代理/存储-并-转发过滤服务中的示例组件和电子消息数据流的框图。图2-4包括显示代理逻辑与存储-并-转发逻辑进行交互以供过滤和递送电子消息的流程图。图5是由多个服务/服务器实现的替换的混合代理/存储-并-转发过滤服务的表不。图6是由多个服务器池和/或服务器链实现的替换的混合代理/存储-并-转发过滤服务的表示。图7显示了其中可并入本发明的各个方面的计算环境的说明性示例。
具体实施例方式在此描述的技术的各个方面一般涉及电子邮件过滤服务,该电子邮件过滤服务呈现代理语义,还能按需(诸如在异常情形或对大的消息的情况下)动态地使用存储-并-转发语义进行操作。电子邮件过滤服务可基于每消息或每连接(例如,连接上的某个消息组) 动态地采用代理和/或存储-并-转发语义。例如,大多数消息使用代理语义被发送,然而, 如果在给定消息上发生瞬态消息递送错误或经过了指定的超时,则过滤服务一般表现像存储-并-转发过滤服务,例如,接受并存储消息直到被递送。应当理解的是,此处的任何示例均是非限制的。作为一个示例,尽管描述了电子邮
5件消息,但是任何其他类型的电子通信可以从在此描述的技术中受益。此外,尽管在此将网关/中继例示为过滤服务,但是(不需要执行过滤的)网关/中继路由服务可以从在此描述的技术中受益。因此,本发明不限制于在此描述的任何具体的实施例、方面、概念、结构、 功能或示例。相反,在此描述的任何实施例、方面、概念、结构、功能或示例是非限制的,并且本发明能以一般在数据通信提供益处和优点的各个方式使用。图1显示了其中客户端发送者102发送旨在递送接受者的消息10 的框图,该消息实际上首先被导向过滤服务106。如将被理解的,如果没有被过滤阻止,则过滤服务106 尝试将消息104b发送给递送系统108。起初,通信是由实现代理语义的代理机制110(逻辑)处理的。然而,如果基于代理的转发没有如所期望的那样工作,则消息进而被提供给实现存储-并-转发语义的存储-并-转发机制112(逻辑)。如以下描述的,(如扫描器114表示的)消息扫描可在消息被代理机制110处理时或消息被存储-并-转发机制112处理时发生,或消息扫描可部分在代理机制110处理期间发生而部分在存储-并-转发机制112处理期间发生。图2-4包括表示由代理机制110( —般地图2和图3)和存储-并-转发机制 112( —般地图4)执行的示例步骤。步骤202表示客户端发送者连接到过滤服务106(例如,如通过DNS服务导向的),步骤204表示客户端发送者向过滤服务106发送消息头部。此时,代理语义是运作的,并且在过滤服务对消息(相对快速地)执行头部扫描时传入连接保持打开。正如所知的,许多消息基于它们的头部数据被拒绝,其由步骤208分支到拒绝消息表示。如果没有在步骤208被阻止,客户端向过滤服务106发送消息主体,过滤服务106 在步骤212开始扫描该消息。取决于包括任何附件的消息主体的大小,主体扫描可相对快地或相对慢地完成。如由步骤214所表示的,扫描在连接保持打开直到超时时段期间继续,该超时时段可由管理员或过滤服务的类似的成员类配置。在该扫描期间,如果消息主体包括被阻止的内容,则消息被拒绝,其由步骤214分支到拒绝消息表示。如果主体扫描完成而没有阻止,则步骤继续到如下描述的图3。与传统的基于代理的过滤相反,在步骤214的超时时段可在对还没有被阻止的消息(虽然该消息可能在稍后被阻止)完成扫描之前达到。如果这样,则步骤使用存储-并-转发逻辑继续扫描,如以下描述的。更具体的,步骤302确定是否完成主体扫描或是否已经达到超时时段。如果没有完成,步骤302分支到如下描述的图4,在那里实现存储-并-转发语义。如果扫描是完成的,则消息被尝试递送,此时依然维持代理语义。为此,过滤服务 106连接到递送系统(步骤304)并尝试递送消息(步骤306)。然而,该尝试可能存在问题, 如由步骤308表示的该尝试超时,或步骤310检测到来自瞬态情形的递送失败。如果这样的情形发生,则过程分支到如下描述的图4以由存储-并-转发逻辑处理。步骤312表示接收来自递送服务的结果,其在步骤314被返回到客户端发送者。 由于使用传统的代理操作,因为不存在触发存储-并-转发处理的情形,成功或失败(步骤 316)被返回到客户端发送者,除了一般地扫描它,无需过滤服务存储或以其他方式对处理该消息承担任何责任。
转向在诸如以上描述的情形下发生的存储-并-转发方面,图4的步骤402表示过滤服务接受消息,包括存储该消息并对尝试递送负责。例如,过滤服务在返回适当的响应(例如,2500K响应)后关闭与客户端的连接,并正式获得该消息的所有权。随后使用存储-并-转发逻辑来处理该消息。注意,如果主体扫描没有完成(例如,图4是经由图3 的步骤302达到的),则主体扫描在步骤406继续,其中消息可通过步骤408被阻止(被隔
1 ) O 如果扫描已经完成并且没有阻止,或通过步骤308或310达到图4的存储-并-转发逻辑,则在步骤410消息被排队以供递送。步骤412和414表示尝试连接并递送消息,该尝试可通过步骤416由于瞬态错误(至少某些时候)而被重新尝试,即,该消息在稍后被重新排队(或没有被出列)并尝试重试。在递送没有成功的情况下,步骤418向客户端发送者返回NDR消息。注意的是,以上的流程图步骤仅仅是示例,可以实现其他从代理操作到存储-并-转发操作的切换。例如,大的消息可能更直接地由存储-并-转发逻辑处理,使得代理逻辑不需要执行扫描直到时限,而是尽快地将消息切换到存储-并-转发逻辑,释放与代理相关的资源以供扫描其他消息。在高负载的时期内,过滤服务也可以将消息提供给存储-并-转发逻辑,例如,而不需要涉及代理逻辑。作为另一替换,可接收相同连接上的多个消息,并且一旦这些消息中的任意一个消息由存储-并-转发逻辑处理,则之后的任何消息也由存储-并-转发逻辑处理,(例如,以帮助保持这些消息有次序)。一般地,过滤服务可在任何时间针对任何给定的消息切换到存储-并-转发逻辑来代替代理逻辑。由此可见,在该混合模型下,当可能时使用代理语义,例如,除了被认为是非寻常的情形,诸如耗时的扫描、递送超时、或由瞬态情形导致的递送失败。对于正常情形下的大部分消息,能获得代理语义的优点,例如,小的消息能被方便地扫描并递送,不对过滤服务施加存储或盘I/O成本。对于其他情况,使用存储-并-转发语义。这么做克服了基于代理的过滤因大的消息/异常情形而产生的缺点,包括当对消息主体的扫描长于期望的超时时段时、当消息递送不能在期望的超时时段内完成时,或当消息递送由于瞬态错误而失败时。在混合模型的该存储-并-转发部分,对大部分时间而言连接没有被保持打开,这对客户端和过滤服务释放了网络端口。此外,注意的是,在接受消息之前完成的任何扫描、处理、或其他活动不需要在该接受后被重复。由此,对任何消息执行的处理的总量基本是不变的;区别在于客户端和过滤服务在处理不能以及时地方式被递送的消息之间的工作的区分。消息不必多于一次地通过过滤服务,因为客户端屏蔽起源于递送服务器的任何瞬态错误。例如,如果递送服务器暂时地不工作,该事实对客户端伪装。转到替换实施方式,图5和6是通过以上描述的混合模型处理电子邮件过滤和/ 或路由的大范围服务部署的表示,该部署使用服务器池和/或链接的服务器。例如在图5的替换实施方式中,消息可由多个服务/服务器506、507处理,该多个服务/服务器506、507 一般具有不同的配置以匹配它们的角色/功能。例如,发送者102向过滤服务506的代理部分发送消息(标记为(1)的箭头),其可包括一个或多个服务器。如果扫描和递送(或路由)能由该代理服务506执行,则消息通过代理逻辑发送(标记为O)的箭头)。
然而,在遇见如上描述的消息没有被及时地扫描或消息没有被递送的情形下,(被打叉的标记为OB)的箭头),消息可被放手到过滤服务内的分开的服务507(服务器或子系统)以供扫描完成和/或递送(虚箭头3B和4B)。这允许过滤服务的主要部分包括纯粹的无状态主控(其可顺应于虚拟化),而允许在服务507上的有状态存储-并-转发工作,服务507包括一个或多个其他被更适当配置的机器,例如,盘重(disk-heavy)单元和/或具有专用冗余存储的机器。图6显示了另一替换实施方式,(其也可由如图5的多部分服务配置)。在图6 中,消息处理的不同方面,例如,接收、扫描和递送,分别由多个不同的服务器集合660-662 处理,并具有服务器集合之间按需执行的任何负载平衡(LB)。注意的是,任何服务器集合可以被配置以供混合代理/存储-并-转发处理。示例性操作环境图7示出其上可实现图1-6的各示例和实现的合适的计算和联网环境700的示例。计算系统环境700只是合适计算环境的一个示例,而非意在暗示对本发明使用范围或功能有任何限制。也不应该将计算环境700解释为对示例性操作环境700中示出的任一组件或其组合有任何依赖性或要求。本发明可用各种其他通用或专用计算系统环境或配置来操作。适用于本发明的公知计算系统、环境、和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、平板设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、微型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。本发明可在诸如程序模块等由计算机执行的计算机可执行指令的通用上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、 组件、数据结构等等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和/或远程计算机存储介质中。参考图7,用于实现本发明的各方面的示例性系统可包括计算机710形式的通用计算设备。计算机710的组件可以包括但不限于处理单元720、系统存储器730和将包括系统存储器在内的各种系统组件耦合至处理单元720的系统总线721。系统总线721可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线,以及局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线,以及也称为夹层总线的外围部件互连(PCI)总线。计算机710通常包括各种计算机可读介质。计算机可读介质可以是能由计算机 710访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息或其他数据的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不仅限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可以被计算机 710访问的任何其他介质。通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”指的是一个或多个特征以在信号中编码信息的方式被设定或更改的信号。 作为示例而非限制,通信介质包括如有线网络或直接线连接之类的有线介质,以及如声学、 RF、红外及其他无线介质之类的无线介质。上面各项中的任何项的组合也包括在计算机可读介质的范围内。系统存储器730包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 731和随机存取存储器(RAM) 732。基本输入/输出系统733 ¢10 包括如在启动时帮助在计算机710内的元件之间传输信息的基本例程,它通常储存在ROM 731中。 RAM 732通常包含处理单元720可以立即访问和/或目前正在操作的数据和/或程序模块。 作为示例而非限制,图7示出了操作系统734、应用程序735、其他程序模块736和程序数据 737。计算机710也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图7示出了从不可移动、非易失性磁介质中读取或向其写入的硬盘驱动器 741,从可移动、非易失性磁盘752中读取或向其写入的磁盘驱动器751,以及从诸如⑶ROM 或其他光学介质等可移动、非易失性光盘756中读取或向其写入的光盘驱动器755。可以在示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器741通常由诸如接口 740的不可移动存储器接口连接至系统总线721,并且磁盘驱动器 751和光盘驱动器755通常由诸如接口 750的可移动存储器接口连接至系统总线721。以上描述并在图7中示出的驱动器及其相关联的计算机存储介质为计算机710提供了对计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图7中,硬盘驱动器741被示为存储操作系统744、应用程序745、其他程序模块746和程序数据747。注意, 这些组件可以与操作系统734、应用程序735、其他程序模块736和程序数据737相同,也可以与它们不同。操作系统744、应用程序745、其他程序模块746和程序数据747在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可通过诸如输入板或电子数字化仪764、话筒763、键盘762和定点设备761 (通常指的是鼠标、跟踪球或触摸垫)等输入设备向计算机710输入命令和信息。图7中未示出的其他输入设备可以包括操纵杆、 游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常由耦合至系统总线的用户输入接口 760连接至处理单元720,但也可以由诸如并行端口、游戏端口或通用串行总线 (USB)等其他接口和总线结构来进行连接。监视器791或其他类型的显示设备也通过诸如视频接口 790的接口连接至系统总线721。监视器791也可以与触摸屏面板等集成。注意, 监视器和/或触摸屏面板可以在物理上耦合至其中包括计算设备710的外壳,诸如在平板型个人计算机中。此外,诸如计算设备710等计算机还可以包括其他外围输出设备,诸如扬声器795和打印机796,它们可以通过输出外围接口 794等连接。计算机710可使用至诸如远程计算机780之类的一个或多个远程计算机的逻辑连接在网络化环境中操作。远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等设备或其他常见网络节点,并且通常包括许多或所有以上关于计算机710所描述的元件, 尽管在图7中仅示出了存储器存储设备781。图7中所示的逻辑连接包括一个或多个局域网(LAN) 771和一个或多个广域网(WAN) 773,但也可以包括其他网络。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。当在LAN联网环境中使用时,计算机710通过网络接口或适配器771连接至LAN 770。当在WAN联网环境中使用时,计算机710通常包括调制解调器772或用于通过诸如因特网等WAN 773建立通信的其他手段。可为内置或可为外置的调制解调器772可以经由用户输入接口 760或其他合适的机制连接至系统总线721。诸如包括接口和天线的无线联网组件774可以通过诸如接入点或对等计算机等合适的设备耦合到WAN或LAN。在网络化环境中,相对于计算机710所描述的程序模块或其部分可被存储在远程存储器存储设备中。 作为示例而非限制,图7示出了远程应用程序785驻留在存储器设备781上。可以理解,所示的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其他手段。辅助子系统799 (例如,用于内容的辅助显示)可经由用户接口 760连接,从而即使计算机系统的主要部分处于低功率状态中,也允许诸如程序内容、系统状态和事件通知等数据被提供给用户。辅助子系统799可连接至调制解调器772和/或网络接口 770,从而在主处理单元720处于低功率状态中时,也允许在这些系统之间进行通信。结论尽管本发明易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而应当了解,这不旨在将本发明限于所公开的具体形式,而是相反地,旨在覆盖落入本发明的精神和范围之内的所有修改、替换构造和等效方案。
权利要求
1.一种在计算环境内至少部分地在至少一个处理器上执行的方法,包括接收旨在被递送到递送系统(108)的电子消息(104a);使用代理逻辑(110)处理所述消息;以及基于一个或多个情形确定是否使用存储-并-转发逻辑(11 来进一步处理所述消息,并且如若是,则使用所述存储-并-转发逻辑来进一步处理所述消息。
2.如权利要求1所述的方法,其特征在于,使用代理逻辑处理所述消息包括扫描所述电子消息的至少一部分,并且其中基于一个或多个情形确定是否使用存储-并-转发逻辑来进一步处理所述消息包括,检测扫描逻辑在超时时段内没有完成对所述消息的扫描,并且其中使用所述存储-并-转发逻辑来处理所述消息包括完成对所述电子消息的扫描。
3.如权利要求1所述的方法,其特征在于,基于一个或多个情形确定是否使用存储-并-转发逻辑来进一步处理所述消息包括,确定在递送超时时段之前没有完成递送尝试,并且其中使用所述存储-并-转发逻辑来处理所述消息包括接受所述消息、存储所述消息并重新尝试递送所述消息。
4.如权利要求1所述的方法,其特征在于,基于一个或多个情形确定是否使用存储-并-转发逻辑来进一步处理所述消息包括,确定递送尝试失败了,并且其中使用所述存储-并-转发逻辑来处理所述消息包括接受所述消息、存储所述消息并重新尝试递送所述消息。
5.如权利要求1所述的方法,其特征在于,遇见所述一个或多个情形的至少之一,并且进一步包括通过所述存储-并-转发逻辑来接受所述消息,包括存储所述消息、发送指示所述消息被接受的响应、以及关闭链接,通过所述链接接收所述消息。
6.如权利要求5所述的方法,其特征在于,进一步包括,对所述消息进行排队以供递送,尝试递送所述消息,检测瞬态错误,以及重新尝试递送所述消息。
7.一种在计算环境内的系统,所述系统包括电子消息处理服务(106),所述电子消息处理服务被配置为具有处理至少一些消息的代理机制(110),以及处理所述消息的至少一些的存储-并-转发机制(11 ,所述服务被配置为基于一个或多个情形确定是否使用所述存储-并-转发机制来处理给定的消息。
8.如权利要求7所述的系统,其特征在于,所述电子消息处理服务包括电子邮件过滤服务,所述电子邮件过滤服务对所述给定的消息执行消息扫描,包括一个或多个消息头部扫描以及一个或多个消息主体扫描。
9.一个或多个具有当被执行时执行过程步骤的计算机可执行指令的计算机可读媒体, 包括(a)维持关于电子消息的打开连接;(b)过滤所述电子消息,包括扫描(206)—个或多个消息头部以确定是否阻止所述消息,并且如果不阻止,则开始012)消息主体扫描;(c)确定(302)所述主体扫描是否在超时时段内完成,并且如果没有,行进到步骤(e);(d)尝试所述消息的递送(306),并且如果成功,则由代理向所述电子消息的发送者返回结果(314),关闭所述连接,并结束所述过程而不行进到步骤(e)或之下;(e)接受(40 所述消息以供存储-并-转发处理,包括存储所述消息、通过向所述电子消息的发送者返回响应来接受对所述消息的责任,以及关闭所述连接;(f)确定(404)在步骤(b)是否完成消息主体扫描,如果没有,则完成消息主体扫描;以及(g)在步骤(f)完成的消息主体扫描不对应阻止所述消息,则将所述消息进行排队 (410)以供递送。
10.如权利要求9所述的一个或多个计算机可读媒体,其特征在于,进一步包括计算机可执行指令,包括,在步骤(g)后,连接到递送系统,并且递送已排队的消息,包括如果递送因瞬态错误而失败则重新尝试递送。
全文摘要
描述了具有混合代理/存储-并-转发逻辑的消息网关。在此描述了一种技术,通过这种技术电子邮件过滤服务或其他网关包括混合代理和存储-并-转发逻辑。消息起初由代理逻辑处理。如果代理逻辑不能在超时时段内完成消息的过滤/扫描,则调用存储-并-转发逻辑来完成消息的过滤/扫描。如果代理逻辑作出的递送尝试失败或没有在递送超时时段前完成,也可以调用存储-并-转发逻辑。当遇见这样的情形时,存储-并-转发逻辑接受消息,包括存储该消息、发送指示该消息被接受的响应、以及关闭通过其接收消息的连接。任何扫描,如果代理逻辑没有完成,存储-并-转发逻辑可以完成,并接管递送责任。
文档编号H04L12/58GK102394835SQ20111030682
公开日2012年3月28日 申请日期2011年9月27日 优先权日2010年9月28日
发明者H·C·安德森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1