邮件网关的故障避免方法

文档序号:7754220阅读:477来源:国知局
专利名称:邮件网关的故障避免方法
技术领域
本发明涉及邮件网关的技术。
背景技术
目前,无视电子邮件(以下表述为邮件)接收者的意图的、所谓垃圾邮件(spam mail,垃圾邮件的定义根据文献而不同,但在本文中如前所述那样定义)被大量发送,已成 为社会问题。因特网服务提供商等管理邮件服务器的提供商(以下称为通信提供商),为了 防止垃圾邮件的发送而采取了各种对策,在其代表性的对策中有垃圾邮件过滤器。作为垃圾邮件过滤器的例子,有美国专利第6732149号(文献1)的方法。在文献 1中,根据来自用户的报警(alert)判定出特定的邮件是垃圾邮件,检测此后接收到的邮件 是否是垃圾邮件或者其变形,将被判定为垃圾邮件的邮件分离,由此防止垃圾邮件的接收 或发送。在文献1以外存在以下多种技术通过机械学习来检测垃圾邮件的特征的方法、 向数据库登录由用户检测出的特征的方法、计算与垃圾邮件的相似性或为垃圾邮件的概率 等来判定垃圾邮件的方法等。另一方面,存在对通信提供商的邮件服务器造成影响的邮件。以下,对提供便携式 电话的通信服务的公司(便携式电话运营商)的邮件系统中的事例进行说明。便携式电话运营商,为了提供便携式电话特有的邮件服务,在对邮件的字符编码 或描绘字符、附加的图像等进行各种变换处理的同时发送邮件。上述邮件系统的处理,通过 邮件网关这样的服务器来实现,但邮件网关有时由于处理未设想到的邮件而发生进程停止 (process down)等故障。上述那样的邮件网关,在便携式电话运营商的网络(即运营商设备网)上,为可以 使负荷分散而被设置了多台,但当再此发送或大量发送使其发生故障的邮件(以下定义为 故障邮件)时,在其它邮件网关中也逐个发生故障,最坏的情况可能全部邮件网关停止,导 致邮件服务的停止。因此,作为邮件网关排除故障的方法,考虑到应用包含文献1的技术的垃圾邮件 过滤器。但是,现有的垃圾邮件判定方法的前提是通过人或者从预先提供的信息的机械学 习来检测出垃圾邮件的特征。即,在现有技术中,在邮件网关中,从邮件导致发生故障的时 刻到可以掌握成为其原因的故障邮件的特征的时刻为止的间隔长,若在此期间再次发送或 大量发送相同故障邮件,则无法避免邮件服务的停止。另外,上述故障邮件与一般的垃圾邮件不同,作为便携式电话运营商的邮件系统 想要排除的邮件,有时却是接收者想要作为通常邮件来接收的邮件(无恶意的邮件)。现有 的垃圾邮件过滤器,即使是接收者想要接收的邮件也排除,因此无法解决上述问题。

发明内容
在本说明书中,为了解决上述问题,公开了一种邮件服务器的故障避免方法,其特征在于,当邮件网关接收故障邮件后发生故障时,快速地确定成为原因的故障邮件,检测出 其特征。而且,公开一种邮件服务器的故障避免方法,其特征在于,邮件网关根据检测出的 特征进行故障邮件的分析,根据分析结果选择尽量不排除邮件的处理方法。所公开的邮件网关包含中继邮件的邮件中继进程和对其进行监视的监视进程。邮 件中继进程具有确定在发生进程停止等故障的情况下所处理的邮件的机制。当故障发生时,监视进程确定成为故障原因的邮件,分析并取得该邮件的特征。另 外,监视进程取得发生了故障的进程、处理内容的信息。然后,监视进程把在上述故障中取 得的信息登录在存储故障邮件的信息的表格(以下称为故障邮件信息表)中。此后,监视 进程使邮件中继进程恢复。另外,也希望监视进程把在上述故障中取得的信息转发到运营 商设备网内的其它邮件网关。邮件中继进程,在故障发生以后,当新接收的邮件的特征和故障邮件信息表中登 录的特征一致时,将该邮件判定为故障邮件。邮件网关不排除判定为故障邮件的邮件,根据 状况从以下多种处理中选择一种以上跳过已知发生故障的处理的处理、向用户通知预想 的故障内容的处理等。通过本发明,即使在邮件网关中由于接收特定的邮件而发生故障,也能够防止再 次发生故障,继续邮件系统的服务。


图1举例表示应用了本实施例的系统的结构。图2举例表示应用了本实施例的邮件网关106的结构。图3举例表示邮件网关106的程序结构。图4举例表示故障邮件信息表205的内容。图5举例表示邮件网关106的故障发生时的邮件中继顺序。图6举例表示邮件网关106的故障邮件判定的处理流程。图7举例表示邮件网关106的故障邮件对应处理选择的处理流程。图8举例表示邮件网关106的故障邮件检测的处理流程。
具体实施例方式首先,说明在本实施例中定义的故障邮件。故障邮件定义为在邮件网关接收该邮 件并进行特定的处理的过程中,使进程停止、或产生在该特定的处理中过分花费时间而影 响到其它处理的状态(以下称为故障)的邮件。多数情况下,故障邮件是邮件网关未设想 到的不适合RFC等的邮件,但即使是除此以外的、例如正常的无恶意的邮件,有时也使邮件 网关的程序发生故障。实际上使邮件网关处理故障邮件后若不发生故障则无法检测出该故障邮件。艮口, 不存在像一般的垃圾邮件那样在邮件自身中预先可以推测的特征或对其进行检测的算法。另外,垃圾邮件过滤器判定邮件自身是否是垃圾邮件,但本实施例,不通过邮件本 身进行判定,而通过接收到该邮件的邮件网关是否发生故障来进行判定,根据判定的结果 变更邮件网关的处理。以下,参照

本发明的实施例。
5
图1是本实施例中设想的系统结构的一例。在该图中,符号101是通信终端,符号102是无线网,符号103是运营商设备网,符 号104是因特网等网络,符号105是邮件转发服务器,符号106是邮件网关,符号107是邮 箱服务器,符号108是监视服务器。通信终端101表示便携式电话终端或PC等可以进行数据通信的终端装置,经由无 线网102与运营商设备网103连接。无线网102是由便携式电话运营商管理的无线网络。 运营商设备网103是向因特网104、邮件网关106以及邮箱服务器107中继来自无线网102 的通信的网络及网络设备。无线网102和运营商设备网103由管理本实施例的邮件网关 106的便携式电话运营商管理。邮件转发服务器105也被称为MTA (Message Transfer Agent),经由因特网104与 邮件网关106进行邮件的收发。具体来说,邮件转发服务器105进行把管理邮件转发服务 器105的其它便携式电话运营商或其它提供商内的邮件向邮件网关106转发的处理;把从 邮件网关106接收到的邮件向其它便携式电话运营商或其它提供商内中继的处理。邮件网关106被设置在运营商设备网103内,接收通信终端101或邮件转发服务 器105向运营商设备网103发送的邮件,若邮件的目的地在运营商设备网103内,则向邮箱 服务器107中继邮件,若邮件的目的地在运营商设备网103外(即其它便携式电话运营商 或其它提供商内),则向邮件转发服务器105中继邮件。在本实施例中,从邮件网关106看来,把成为邮件发送源的通信终端101或邮件转 发服务器105 —起标记为邮件客户机110,在把邮件转发服务器105或邮箱服务器107视为 邮件的中继目的地的情况下,一起标记为目的地邮件服务器,在把邮件网关106、邮箱服务 器107视为从邮件客户机110接收邮件的服务器的情况下,标记为邮件接收服务器。另外,在本实施例中,通过多台邮件网关106分散负荷,像邮件网关106a那样在 末尾标记了字母的符号表示一个服务器,在末尾未附加任何字母的情况下不特别指定服务
ο在本实施例中,邮件网关106和通信终端101间、邮件网关106和邮件转发服务器 105间的通信协议,设想有SMTP或ESMTP (Extended SMTP),邮件网关106和邮箱服务器107 间的协议,设想有LMTP (Local Mail TransferProtocol),此外也可以应用 HTTP (Hypertext Transfer Protocol)、IMAP(IntemetMessage Access Protocol)、POP (Post Office Protocol)> MMS (MultimediaMessaging Service) ,Ι^ ^。邮箱服务器107被设置在运营商设备网103内,存储发往通信终端101的邮件,并 向通信终端101发送邮件。在便携式电话运营商等大规模邮件系统中,邮箱服务器107为 了存储大量邮件而由多台构成,但在本实施例中为了简化而以1台邮箱服务器来说明。在 本实施例中,不限定通信终端101和邮箱服务器107间的通信协议,但实际使用ΙΜΑΡ、Ρ0Ρ、 MMS 等。监视服务器108,是通过从邮件网关106或邮箱服务器107接收故障等报警,来监 视邮件网关106或邮箱服务器107的服务器。图2是实现邮件网关106的信息处理装置的硬件结构。实现邮件网关106的信息处理装置由处理器202、存储装置207、用于在运营商设 备网103上收发数据的输入输出电路接口 203、和连接它们的总线等内部通信线构成。
存储装置207由半导体存储装置、或硬盘等外部存储装置构成。存储装置207容 纳了程序区域204和数据存储区域206。在程序区域204中存储实现提供邮件网关106的 功能的进程的程序,通过处理器202执行。程序可以预先存储在程序区域204中,也可以经 由未图示的可装卸的存储介质或通信介质(即网络或在其上传播的数字信号或载波)被导 入程序区域204。在数据存储区域206中存储在程序区域204以外利用的信息,例如程序输 出的日志等。图3是在程序区域204中存储的、实现由邮件网关106执行的进程的程序的结构。实现邮件网关106的程序包含实现邮件中继进程的程序(为了便于说明,简称为 邮件中继进程,以下相同)312、监视进程313、其它服务器通信进程315、共享数据316。邮 件中继进程312负责邮件的中继。监视进程313监视其它进程,负责其它进程的故障的检 测和检测出故障时的处理等。其它服务器通信进程315负责与分散为N个的其它邮件网关 106的通信。上述各进程,也可以在程序的执行中以更细小的并行处理的执行单元、即线程 (thread)来实现。作为共享数据316存储由各进程处理的数据,以能够被上述进程中的任意一个访 问的方式来存储。共享数据316包含故障邮件信息表321、队列322、会话处理信息323、邮 件管理信息324和邮件325。故障邮件信息表321是存储被判定为故障邮件的邮件的信息的表,在图4中详细 说明。在会话信息323中存储用于管理邮件客户机110或邮件的目的地邮件服务器间的 通信会话,并执行邮件中继的信息。邮件中继进程312从多个会话处理信息323中选择一 个会话信息323,执行邮件的中继处理。会话信息323,以与邮件中继进程312当前进行邮件的接收处理和发送处理的数 量相同的数量存在。在邮件管理信息324中存储用于邮件中继进程312中继邮件的、与邮件相关的信 息。邮件管理信息324和邮件325 —一对应。邮件管理信息324包含邮件的大小信息331、邮件的发送源信息332、邮件的目的 地信息333、处理标志信息334。在邮件的大小信息331中存储邮件325的标题大小和主体 大小。在邮件的发送源信息332中存储邮件325的发送源的邮件地址、发送了邮件325的 通信终端或服务器的信息。在邮件的目的地信息333中存储邮件325的目的地邮件地址的 信息。在处理标志信息334中存储用于控制邮件中继进程312进行的处理的信息。邮件中 继进程312根据处理标志信息334,进行与邮件中继的正常处理不同的处理。例如删除邮件 315、或者跳过发生了故障的处理来继续邮件的中继处理、或者发送被称为未到达通知的邮 件(在后面详细描述)。图4是表示故障邮件信息表321的结构的例子的说明图。故障邮件信息表321是用于提取并存储被判定为故障邮件的邮件的特征、判定以 后处理的邮件是否是故障邮件的表格(在后面描述判定方法)。所谓邮件的特征,可以是成为对象的邮件的一部分字符串或全部,也可以是通过 哈希函数等计算对象部分而得到的值(哈希值)等。故障邮件信息表321的各条目由管理ID401、对象标题项目的判定信息402、邮件主体的判定信息403、登录日期时间404、发送源邮件地址405、发送源服务器的特定信息 406、目的地邮件地址407、大小408、判定条件项目409、故障点410、故障邮件接收数411构 成。管理ID401是为了管理故障邮件信息表321而赋予每个条目的识别符。针对一个 条目存储各数据,构成了故障邮件信息表321。在后面描述邮件网关106登录故障邮件信息 表321的各条目的信息的方法的细节,因此在此说明各条目所表示的内容。对象标题项目的判定信息402是用于邮件网关106判定故障邮件的、邮件标题的 信息。所谓对象标题项目,表示在接收到的邮件的邮件标题或者邮件主体中的MIME标题 中,邮件网关106进行删除或追加、内容的改写等处理的标题项目(以下,把进行邮件标题 的标题项目的删除或追加、内容的改写等处理称为标题过滤)。所谓对象标题项目的判定信 息402,是在上述对象标题项目中提取出邮件网关106进行处理后发生了故障的标题项目 的特征而得到的信息。在对象标题项目的判定信息402中有时包含邮件主体中的MIME标题,这是因为在 邮件主体中包含HTML数据或图像文件等附加文件时使用MIME标题,作为邮件网关106关 于邮件的附加进行分析的邮件标题的处理,分析主体的MIME标题。邮件主体的判定信息403是用于邮件网关106判定故障邮件的、邮件主体的信息。 在邮件主体的判定信息403中,也可以把通过MIME标题划分的MIME区域单位指定为邮件 主体。邮件主体的判定信息403与对象标题项目的判定信息402为不同项目的理由是,邮 件网关106的邮件标题的处理和邮件主体的处理不同,故障的种类或对系统的影响不同。登录日期时间404是邮件网关106在表321中登录该条目的日期时间。邮件网关 106以登录日期时间404为起点,根据有无经过预先设定的有效时间,判定在条目中存储的 信息是否有效。另外,当条目数超过在故障邮件信息表321中可以登录的数量时,按照登录 日期时间404从早到晚的顺序进行删除。发送源邮件地址405是邮件客户机110的邮件地址。发送源服务器的特定信息406是邮件网关106接收到的邮件的发送源服务器的主 机名或IP地址。在邮件客户机110是通信终端101的情况下,不使用发送源服务器406的项目。目的地邮件地址407是邮件的目的地的邮件地址,即使目的地为多个也进行存储。大小408表示故障邮件的标题和主体的大小。判定条件项目409是决定为了判定故障邮件而使用哪个信息或组合哪个信息的 项目。例如,若邮件网关106在邮件标题的处理中发生故障,则为了使用对象标题项目的判 定信息402进行故障邮件的判定,登录“标题”,若邮件网关106在邮件主体的处理中发生故 障,则为了使用邮件主体的判定信息403进行判定,登录“主体”。同样地,判定条件项目409的“主体大小”或“标题大小”,表示使用大小408的、成 为故障原因的大小来进行故障邮件的判定。在邮件网关106的邮件标题的处理和主体的处 理的双方中发生故障时、或者在不进行区别的情况下记述双方。即,在判定条件项目409中 记录标题或标题大小,和/或主体或主体大小。在故障点410中登录发生了故障的处理和进程(函数)。在针对由邮件网关106判定为故障邮件的邮件,跳过发生故障的点来继续邮件中继处理的情况下使用故障点410。 在故障点410中,在多个处理中发生故障的情况下、或者在不进行区别的情况下,可以登录 多个故障点。在409、410的项目中登录的字符串,实际上可以作为由邮件网关106定义的数值 (ID)来存储。例如在409中,可以把标题定义为1,把主体定义为2,登录其值。故障邮件接收数411是表示接收到几次与该条目一致的邮件的值。图5是举例表示故障发生时的邮件的中继的顺序的图。其表示在邮件网关106中 继从邮件客户机110接收到的邮件的处理中发生故障时的顺序。在此,邮件网关A106a、邮件网关B106b分别表示可以分散负荷而设置的多台邮件 网关106中的一台。在邮件网关A106a执行的步骤中,仅故障邮件检测513由监视进程313 执行,除此以外的全部步骤通过邮件中继进程312来执行。最初,邮件客户机110向邮件网关A106a发送邮件505。邮件网关A106a当接收 邮件505时,进行判定故障邮件的处理507 (以下称为故障邮件判定)。由于在故障邮件判 定507的时刻还没有发生故障,因此邮件网关106不进行邮件的特征等的提取(图6中详 细说明)。接着,邮件网关A106a向邮件客户机110发送表示已正常接收的正常应答509。接着,邮件网关A106a进行所述标题过滤处理510。在标题过滤处理510中,邮件 网关A106a进行邮件505的邮件标题的标题项目的删除、追加、内容的改写等。接着,邮件网关A106a进行编码转换处理511 (transcoding)。在本实施例中,编码 转换定义为,进行邮件的主题(subject)或正文中包含的字符(包含描绘字符)的字符编 码的变换,邮件中附加的图像、声音、动画等数据的变换不包含在编码转换中(邮件中附加 的图像文件的变换是步骤526的处理)。在编码转换处理511中,邮件网关A106a进行邮件 505主要在邮件主体中包含的、包含描绘字符的字符编码的变换。在此,作为例子,考虑在编码转换处理511中,在邮件网关A106a中发生了邮件中 继进程312的进程停止512的情况。在这种情况下,邮件网关A106a进行故障邮件检测处 理513。所谓故障邮件检测处理513,是邮件网关A106a确定发生了故障的邮件并取得其特 征,向故障邮件信息表321登录,从发生故障的状况恢复的处理(在图8中详细说明)。在 故障邮件检测处理513中,邮件网关106对于发生了故障的邮件进行故障邮件判定518这 样的处理,在此为了简化附图而省略,在步骤518中详细说明。接着,邮件网关A106a向邮件网关B106b发送故障邮件信息通知514。所谓故障邮 件信息通知514,是向为了分散负荷而设置的其它邮件网关106通知故障邮件的信息的处 理,最好向其它全部邮件网关106进行发送。接收到故障邮件信息通知514的邮件网关B106b进行更新故障邮件信息表的处理 515。通过由邮件网关A106a把故障邮件信息通知514登录在DB服务器等中,由其它邮 件网关106从该服务器取得故障的邮件信息的方法,也可以实现故障邮件信息通知514。另外,如果邮件网关106只有一台,则省略故障邮件信息通知514、故障邮件信息 表更新处理515。以下的步骤516至528表示邮件客户机110把与邮件505相同的邮件516向邮件网关A106a或B106b发送的情况。邮件网关A106a当接收邮件516时进行故障邮件判定 518。在故障邮件判定518中,邮件网关106判定在故障邮件信息表321中登录的特征和邮 件516的特征是否一致,在一致的情况下进行与判定结果对应的处理。当邮件网关A106a 判定为故障邮件后进行的处理,在本实施例中从三种、即错误应答(步骤519)、未到达通知 (步骤521、522)以及故障点的跳过(步骤523至528)中选择(在图7中详细说明)。在故障邮件判定518中选择了错误应答的情况下,邮件网关A106a向邮件客户机 110发送错误应答519,作为邮件516的应答。作为错误应答519,将恢复困难错误、例如 SMTP情况下的500号段的错误,向邮件客户机110发送。在故障邮件判定518中选择了未到达通知的情况下,邮件网关A106a向邮件客户 机110发送正常应答521,作为邮件516的应答。接着,邮件网关A106a在确立与正常应答 521不同的连接、即从邮件网关A106a至邮件客户机110确立新的连接后,向邮件客户机 110发送未到达通知522。未到达通知522采取邮件形式,在邮件正文中以邮件客户机110 的用户可以理解的形式记载错误内容。另外,虽然未图示,但也可以根据故障的状况,还向 目的地邮件服务器111发送未到达通知。虽然未图示,但在错误应答处理(步骤519)、未到达通知处理(步骤521、522)的 情况下,在各处理结束时删除对象邮件。在删除的情况下,一起将邮件的信息作为日志向数 据存储区域206输出。在故障邮件判定518中选择了故障发生点的跳过的情况下,向邮件客户机110发 送正常应答523。邮件网关A106a进行标题过滤处理524。接着,邮件网关A106a进行跳过 作为故障点的编码转换处理的处理525。在步骤525中,可以在邮件527的正文中添加错误 内容,在这种情况下是表示未进行编码转换处理的语句。接着,邮件网关A106a进行图像文 件的变换处理526。此后,邮件网关A106a向目的地邮件服务器111发送邮件527,接收正 常应答528。本实施例的邮件网关106进行与步骤510相同的标题过滤524、编码转换、图 像文件的变换526的各处理来中继邮件,但除此以外的处理也可以加入步骤524至526之 间。图6是表示故障邮件判定507或518的处理流程的图。故障邮件判定(步骤507、518),是用于邮件网关106在接收邮件时判定该邮件是 否是在过去引起过故障的故障邮件,并防止故障再次发生的处理。通过邮件中继进程312 执行故障邮件判定。故障邮件判定,首先在故障邮件信息表321的判定条件项目409中,通 过大小、标题、主体的各检索关键字调查是否登录了故障邮件,若已登录,则开始关于相应 的处理项目提取特征的处理,例如若记载了标题,则提取接收到的对象标题的特征。即,邮 件网关106,若在故障邮件信息表221中未登录任何内容,则不进行提取邮件的各特征的处 理。所谓特征的提取,可以由邮件网关106提取出成为对象的邮件的一部分字符串或全部, 也可以通过哈希函数等计算对象部分来求出值(哈希值)。以上是图6的概要,以下详细说 明。步骤601是调查邮件大小(邮件标题或邮件主体的大小)是否超过规定值(以下 将该值表述为大小阈值)的处理。所谓大小阈值,是邮件网关106中继的邮件标题或主体 的大半容纳在该大小内的大小,预先被设定好。在判定条件项目409中记载为大小的条目,是超过了大小阈值的情况,这是因为,
10为了检索故障邮件信息表221而以主体大小作为检索关键字来检索,与通过其它项目、标 题或主体来检索相比,处理的效率更高。因此,在步骤601中,邮件网关106首先调查是否超过大小阈值,在步骤604中按 照邮件标题的顺序、在步骤607中按照主体的顺序以各项目为检索关键字进行调查。在步骤601中若邮件大小超过了大小阈值,则进入步骤602。如果邮件大小未超 过大小阈值,则进入步骤604。步骤602是调查在故障邮件信息表321的判定条件项目409 中是否登录了大小的处理。如果在故障邮件信息表321中登录了大小,则进入步骤603,以 大小为关键字检索故障邮件信息表321,记录检索结果和与判定条件项目409的条件一致 的检索结果,进入步骤604。步骤604是调查在故障邮件信息表321的判定条件项目409中是否登录了标题的 处理。如果在故障邮件信息表321中登录了标题,则进入步骤605。如果在故障邮件信息表 321中未登录标题,则进入步骤607。步骤605是提取对象标题的特征的处理。故障邮件信息表321管理判定条件项目409的各条件,即标题、主体、标题大小、主 体大小等条件分别登录了多少个。在步骤604中,若故障邮件信息表321的判定条件项目 409的值为零,则判定为没有登录。同样地,在步骤604、607中,也调查故障邮件信息表321 的判定条件项目409的各条件的登录数是否为零。对象标题的特征提取,是以邮件网关106处理的标题项目为对象来提取特征的处 理。在邮件标题中存在表示发送日期时间的Date标题项目、表示中继了该邮件的服务器的 Received标题项目、作为该邮件特有的ID的Message-Id的项目,但是这些项目每当邮件客 户机110进行发送时改变,另外,邮件网关106不处理这些标题项目,因此在步骤605中在 对象中不包含这些标题项目。这是因为,若把每当邮件网关106进行发送时变化的标题项 目加入一致条件中,则有可能混过故障邮件的判定,再次发生故障。另外,在邮件网关106的标题过滤处理中,把预先在邮件网关106的设定文件中记 载的标题项目作为对象来进行处理,因此,在标题过滤是故障点的情况下,邮件网关106提 取出在设定文件中记载的标题项目的特征。步骤606是通过对象标题项目的特征来检索故 障邮件信息表321的处理。步骤607是调查是否在故障邮件信息表321的判定条件项目409中登录了主体的 处理。如果在故障邮件信息表321中登录了主体,则进入步骤608。如果在故障邮件信息表 321中未登录主体,则进入步骤610。步骤608是进行主体的特征提取的处理。步骤609是 通过主体的特征来检索故障邮件信息表321的处理。步骤610是调查在步骤603、606、609中进行的故障邮件信息表321的检索中是否 存在与条件一致的条目的处理。如果不存在与条件一致的条目,则判定为不是故障邮件,结 束故障邮件判定,进行正常的邮件中继处理。若在步骤610中存在与条件一致的条目,则进入步骤611。步骤611是从一致的条 目中排除从登录日期时间304起超过了有效时间的条目的处理。步骤612同样是排除发送 源邮件地址304不一致的条目的处理。步骤612是用于组合在以前的步骤中提取出的特征和条件来提高判定故障邮件 的精度的处理,也可以组合在以前的步骤中提取出的特征和发送源邮件地址以外的信息。 例如,若邮件网关106通过哈希值管理特征,则有可能不同的邮件的哈希值相同。因此,通过排除哈希值相同而发送源的邮件地址不同的邮件,可以提高确定邮件的概率。步骤613与步骤610同样,是调查是否存在与条件一致的条目的处理。如果在步 骤613中存在与条件一致的条目,则判定为故障邮件。如果不存在与条件一致的条目,则判 定为不是故障邮件,结束故障邮件对应处理选择。在步骤613中也存在一致的条目为多个 的情况,但在这种情况下,通过故障邮件对应判定615(参照图7详细说明)进行说明。步骤614是把步骤613中与条件一致的条目数与故障邮件接收数411相加的处 理。步骤615到步骤618是把对象邮件判定为故障邮件时的处理。步骤615是故障邮 件对应处理选择处理。故障邮件对应处理选择处理,是邮件网关106根据故障邮件信息表 321的状况,选择图5的错误应答519、未到达通知522、跳过编码转换525这三种处理的处 理。在图7中详细说明。若步骤615的结果为错误应答则进入步骤616,若结果为未到达通 知则进入步骤617,若结果为跳过故障点则进入步骤618。在步骤616中,邮件网关106向邮件客户机110发送错误应答,结束故障邮件判定 处理。在步骤617中,邮件网关106结束故障邮件判定,转移到发送未到达通知的处理。然 后,邮件网关106如图5所示,向邮件客户机110发送正常应答521、以及通过与正常应答不 同的连接向邮件客户机110发送未到达通知522。在本实施例中未记载,但根据故障的状 况,可以不仅向邮件客户机110发送未到达通知522,也向目的地邮件服务器111发送未到 达通知。步骤618、619是跳过故障点的情况,在步骤618中选择在邮件正文中追加的错误 语句。其是用于向邮件的接收者报告由于跳过故障点因此未进行本来应该执行的处理的情 况的处理。另外,在步骤618中跳过图像处理变换的情况下,可以代替图像而插入错误语句 或别的图像文件。步骤619是把故障点的信息作为标志,设置在邮件管理信息324中的处 理,此后结束故障邮件判定。邮件网关106的邮件中继进程312,在故障邮件判定结束后,如图5的步骤525那 样跳过故障点。邮件网关106的邮件中继进程312,在向目的地邮件服务器发送邮件前通常 进行标题过滤(510、524)、编码转换(512)、图像文件变换(526)这三种处理。这些处理作 为函数分别被安装。设计成各个函数的输入和输出不受其它函数影响,即,可以独立地安装 各函数。例如设计各函数,使得图像文件变换与有没有执行标题过滤或编码转换的处理无 关,可以单独地执行。通过如此设计,可以跳过故障点。在邮件网关106调用进行发送邮件的处理的各函数前,确认在邮件管理信息324 中有无故障点的跳过处理标志的设置,若跳过处理标志已被设置,则省略该处理函数的调 用,转移到下一处理函数的调用。例如在编码转换的跳过(525)中,邮件网关106确认是否 在邮件管理信息324中设置了编码转换的跳过处理,若已设置,则省略编码转换的处理函 数的调用,转移到下面的图像文件的变换(526)的处理函数的调用。另外,作为其它故障点 的跳过方法,可以采用如果在各处理的函数内的最初的步骤中已设置了故障点的跳过处理 标志,则省略该函数以后的处理,向下一处理函数转移的方法。图7是表示故障邮件对应处理选择615的处理流程的图。这是在故障邮件判定或故障邮件检测(图8中详细表示)中,对于被判定为故障 邮件的邮件决定邮件网关106的对应方法的情况下的处理流程。邮件网关106判定的结果为错误应答、未到达通知、跳过故障点这三种。故障邮件对应处理判定,在接收到虽是故障邮件但接收者想要作为通常的邮件而 接收的邮件、即无恶意的故障邮件时有效。在这种情况下,关于无恶意的邮件,最理想的是 邮件网关106可以跳过故障点来进行发送。例如,若编码转换是故障点,由于是目的地邮件 服务器可以信赖的通信提供商,因此进行编码转换,则对接收者没有影响,邮件网关106可 以避免故障。另外,未到达通知把故障的内容作为邮件,可以通知给邮件的发送者和/或接 收者。错误应答是拒绝所接收到的邮件的处理的处理,成为在不使用上述两种处理的情况 下的处理。此外,如在图8中说明的故障邮件检测处理那样,在切断了连接的情况下,可以 进行邮件的删除,省略错误应答的发送。以下,使用图7详细说明故障邮件对应处理判定的细节。步骤701是判定是否与在邮件网关106中预先设定的运用设定文件的条件一致的 处理。在上述运用设定文件中记载了与故障邮件信息表321的各项目对应的条件、以及与 条件一致时选择什么处理,邮件网关106按照运用设定文件判定与该条件一致的故障邮件 (步骤710)。步骤710的判定结果至少成为所述错误应答、未到达通知、故障点的跳过这三种 中的某一种,但在运用设定文件中也可以追加所述三种以外的判定、和该判定结果独自的 处理的记载。例如,也可以追加成为在所述三种中组合未到达通知和故障点的跳过的判定 的记载。如上所述,通过步骤701和710可以进行故障邮件对应处理判定的定制。步骤702判定是否故障邮件信息表321的条目为多个,或者条目为一个但故障点 410被记载了多个,在与某个条件一致的情况下,前进到错误应答(步骤711)。步骤703判定故障邮件接收数411是否超过了阈值,在超过的情况下,由于多数情 况下是一般的垃圾邮件那样的大量发送的邮件,因此前进到错误应答(步骤711)。在步骤704中判定故障点是否是编码转换。在步骤705中,在与目的地邮件地址407或接收到的邮件的文字编码可以不进行 编码转换地发送的条件一致的情况下,进入故障点的跳过(步骤712)。为了说明步骤705、712,对目的地邮件地址和文字编码、编码转换的关系进行阐 述。邮件网关106进行的编码转换,根据目的地邮件地址407而不同。若目的地邮件地址 407在由管理本实施例的邮件网关106的便携式电话运营商所管理的无线网102和运营商 设备网103(称为本公司网)内,则为了在该便携式电话运营商的通信终端中可以正常显示 邮件,而进行编码转换。在目的地邮件地址407由包含其它便携式电话运营商的通信提供商管理的,关于 邮件的文字编码在事先进行了规定的情况下,进行面向该通信提供商的编码转换。例如,关 于具有便携式电话运营商固有的文字编码的描绘文字,在便携式电话运营商间相互进行编 码转换。但是,事先的规定,存在邮件网关106必须进行编码转换的情况、和推荐由邮件网 关106进行编码转换的情况,在后者的情况下可以通过后述的IS0-2022-JP进行发送。目的地邮件地址407,在上述以外的、事先未规定的其它便携式电话运营商的情 况下,编码转换到日语环境的邮件标准的文字编码即IS0-2022-JP(JIS)。但是,并不禁止 IS0-2022-JP(JIS)以外的邮件的发送,便携式电话以外的邮件软件多数也应对Unicode的邮件。另外,根据便携式电话运营商,有时在邮件接收时进行编码转换,在这种情况下, 即使不进行邮件网关106的编码转换也没有问题。基于以上的背景,在步骤705中,设定邮件网关106不进行编码转换而可以发送的 条件。在目的地邮件地址407不是本公司网的情况下、或者事先进行了规定,面向仅接受进 行了编码转换的邮件的通信提供商的情况下,判定为“否”。当目的地邮件地址407是上述 以外的情况下,若接收到的邮件为IS0-2022-JP (JIS),则判定为“是”。另外,在目的地邮件地址407是在邮件接收时正在进行编码转换的通信提供商的 情况下,也判定为“是”。另外,当目的地邮件地址407是上述以外、并且是便携式电话运营 商以外时,若接收到的邮件是Unicode,则也可以判定为“是”。步骤706判定故障点是否是图像处理变换,若是图像处理变换则进入故障点的跳 过(步骤713)。这是因为即使无法进行图像处理变换也可以发送邮件。步骤707判定发送源服务器406是否是便携式终端,在与条件一致的情况下进入 未到达通知(步骤714),若不一致则进入错误应答(步骤709)。若邮件客户机110为便携 式终端,则根据便携式终端的规格而不同,但即使邮件网关106发送错误应答,有时也不明 确或者不能详细知道邮件的发送因何原因而失败。因此,在步骤707和714中,在发送者为 便携终端的情况下,发送可以记载错误的内容细节的未到达通知。图8表示监视进程313的故障邮件检测513的处理流程。表示当邮件网关106中发生故障时,为了查明成为其原因的故障邮件,而收集故 障邮件和进程、故障点等的信息,并登录在故障邮件信息表421中的处理。首先,监视进程313检测故障、或者发生了故障的进程(步骤801)。在步骤801 中,监视进程313根据表示作为监视对象的进程已停止的信号的发生、或者进程的处理超 时,可以检测出故障。另外,步骤801也可以通过以下方法实现把表示作为监视对象的进 程定期正常的信息报告给监视进程313,监视进程313在其更新停止时检测为故障。接着,监视进程313确定发生了故障的会话信息323(步骤802)。在步骤802中, 确定发生了故障的会话信息323的方法,通过以下方法而实现监视进程313保持邮件中继 进程312的处理中的会话信息323的指针的方法、保持处理中的会话信息323的号码等识 别符的方法、以及在共享数据316上记录邮件中继进程312的处理中的会话信息323的指 针或号码的方法等。接着,监视进程313确定与上述会话信息323对应的邮件325 (步骤803)。步骤 804是基于上述会话信息323,确定在哪个处理、例如标题过滤处理或编码转换处理等中是 否发生了故障的处理。步骤805是根据处理内容确定判定条件的处理。所谓判定条件,与 在后面的步骤810中在故障邮件信息表321的判定条件项目409中存储的信息相同,例如 在标题过滤中存在故障的情况下选择“标题”,在编码转换的主体中存在故障的情况下选择 “主体”。步骤806是调查判定条件的大小是否超过大小阈值的处理,所述大小,若故障点为 标题则为标题大小,若为主体则为主体大小。如果判定条件的大小超过大小阈值,则在判定 条件中选择大小(步骤807)。监视进程313从邮件325中提取判定条件的特征(步骤808),从邮件325以及邮 件管理信息324中,提取出发送源邮件地址、发送源服务器、目的地邮件地址、大小等判定条件以外的信息(步骤809)。然后,在步骤810中,监视进程313把从步骤801到809所取 得的信息登录在故障邮件信息表321的各项目中。步骤811是监视进程313向其它服务器通信进程315指示故障邮件信息的转发的 处理,但在邮件网关106为1台时不进行。步骤812是用于向监视服务器812通知发生了 故障的报警输出。步骤814是图7中说明的故障邮件对应处理判定。在步骤814中判定为错误应答 的情况下,监视进程313在邮件管理信息324中设置用于删除实际成为故障发生原因的邮 件的删除标志(步骤815)。被设置了删除标志的邮件,在已停止的进程、例如邮件中继进程 312恢复(步骤820)后,由恢复后的邮件中继进程312删除。在步骤815中设置删除标志 是因为,在步骤814的时刻已经切断了邮件网关106和邮件客户机110间的连接,所以邮件 网关106不返回错误应答。在步骤814中判定为未到达通知的情况下,监视进程313在邮件管理信息324中 设置用于进行未到达通知的标志(步骤816)。在步骤814中判定为故障点的跳过时,监视 进程313在邮件管理信息324中设置用于进行故障点的跳过的标志(步骤817)。在步骤 816、817中被设置了标志的邮件,与步骤815同样地,在已停止的进程恢复(步骤820)后被 执行处理。然后,监视进程313对已停止的进程所处理的会话信息323等进行初始化(步骤 819),再启动已停止的进程(步骤820)。在本实施例中未表示,但有时邮件网关106把从邮件客户机110接收的邮件存储 在存储器或磁盘上的队列中。当邮件网关106通过队列管理邮件时,即使发生故障、处理中 断,有时在故障恢复后,恢复的进程从队列中再次取得邮件重新开始处理,有时故障再次发 生。在这种情况下,通过在图8的故障邮件检测处理中追加从队列中去除邮件的处理,防止 故障的再次发生。在本实施例中表示了在邮件网关106中应用本发明的例子,但在本实施例中可以 解决的、由于邮件的接收而发生故障的现象,在邮箱服务器107等邮件接收服务器全都有 可能发生。因此,在邮件接收服务器中应用本发明,可以得到同样的效果。邮件网关106和邮箱服务器107的处理的区别在于,邮件网关106向目的地邮件 服务器111发送邮件,而邮箱服务器107向磁盘等非易失性存储区域写入邮件。因此,在邮 箱服务器107中应用本实施例时,把邮件的发送部分的处理(图5的步骤527、528)变更为 向非易失性存储区域的写入处理即可。
1权利要求
一种从邮件客户机接收邮件的邮件网关,其特征在于,包含通过执行程序而实现的、负责邮件的中继的邮件中继进程和监视所述邮件中继进程的监视进程,所述邮件中继进程包含以所述邮件为对象的一个以上的处理,所述监视进程,监视在所述邮件中继进程中包含的一个以上的所述处理中有无故障的发生,在检测出故障时在表格中记录信息,该信息用于确定成为故障原因的故障邮件和发生故障的故障点,所述邮件中继进程,关于新的处理对象邮件,按照预先确定的方针检索所述表格,在与该表格中记录的条目一致的情况下,将所述新的处理对象邮件判定为所述故障邮件,按照所述表格的内容和预先确定的处理方针,进行所述故障发生的事前避免处理。
2.根据权利要求1所述的邮件网关,其特征在于,所述邮件中继进程,在按照预先确定的方针进行的所述表格的检索中,当标题和/或 主体的特征与所述表格中记录的邮件的特征一致时,判定为条目一致。
3.根据权利要求2所述的邮件网关,其特征在于,所述标题和/或主体的特征包含标题和/或主体的大小超过预先确定的阈值,并且与 所述表格中记录的邮件的大小一致。
4.根据权利要求1所述的邮件网关,其特征在于, 所述监视进程,提取出被判定为故障邮件的邮件的特征,作为所述故障点,确定在标题和/或主体的哪个中发生了故障、以及发生了故障的处 理函数,将提取出的所述特征和所确定的所述故障点关联地记录在所述表格中。
5.根据权利要求1所述的邮件网关,其特征在于, 所述监视进程,关于发生了故障的所述邮件,决定针对所述故障的对应处理, 在进行了发生所述故障的所述故障点的恢复处理后,执行所述对应处理。
6.根据权利要求5所述的邮件网关,其特征在于,所述对应处理是对象邮件的删除、或者是要发生或已发生故障的处理函数的处理的省 略,在删除对象邮件的情况下,把错误应答或者未到达通知发送到所述邮件客户机。
7.根据权利要求1所述的邮件网关,其特征在于,所述事前避免处理,是对象邮件的删除、或者是要发生或已发生故障的处理函数的处 理的省略,在删除对象邮件的情况下,把错误应答或者未到达通知发送到所述邮件客户机。
8.根据权利要求1所述的邮件网关,其特征在于,具有记述了与所述表格的项目对应的条件、以及与条件一致时的处理方法的运用设定 文件,所述邮件中继进程,在所述故障发生的所述事前避免处理中,选择遵从所述运用设定 文件的处理方法。
9.根据权利要求8所述的邮件网关,其特征在于, 所述邮件中继进程,在与所述运用设定文件的记述不一致,并且该邮件被记录在所述表格的多个条目中、 或者记录了多个故障点的故障时,把错误应答或者未到达通知发送到所述邮件客户机,在不进行上述错误应答或者未到达通知的所述发送时,在发生了故障的处理函数为编 码转换的情况下、或者是图像处理变换的情况下,省略该处理函数的处理,在不进行处理函数的处理的所述省略时,若所述邮件客户机是预先确定的种类,则发 送未到达通知,若是除此以外的种类,则发送错误应答。
10.根据权利要求7或9所述的邮件网关,其特征在于, 所述邮件中继进程在所述未到达通知中记述错误内容。
全文摘要
本发明提供一种邮件网关的故障避免方法,用于在便携式电话运营商等大规模邮件系统中,当邮件网关接收到异常的邮件后发生故障时,确定故障的原因,防止故障的再次发生。包含中继邮件的邮件中继进程、和监视其它进程的监视进程来构成邮件网关,在邮件中继进程接收异常的邮件后发生了故障时,监视进程检测出成为故障原因的邮件、该邮件的特征以及故障的状况,将这些信息记录在故障邮件信息表中。监视进程使故障恢复,邮件中继进程比较新的接收邮件的特征和上述表格中记录的特征,当一致时,邮件中继进程根据条件进行跳过会发生故障的处理、向邮件发送源发送错误应答或者未到达通知的某种处理。
文档编号H04W4/12GK101951563SQ20101022685
公开日2011年1月19日 申请日期2010年7月8日 优先权日2009年7月9日
发明者木下雅文 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1