CN101002190A - 利用电子邮件中的元数据来管理虚拟存储器的电子邮件传输系统 - Google Patents
利用电子邮件中的元数据来管理虚拟存储器的电子邮件传输系统 Download PDFInfo
- Publication number
- CN101002190A CN101002190A CNA2005800253131A CN200580025313A CN101002190A CN 101002190 A CN101002190 A CN 101002190A CN A2005800253131 A CNA2005800253131 A CN A2005800253131A CN 200580025313 A CN200580025313 A CN 200580025313A CN 101002190 A CN101002190 A CN 101002190A
- Authority
- CN
- China
- Prior art keywords
- message
- information
- metadata
- formation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/226—Delivery according to priorities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/42—Mailbox-related aspects, e.g. synchronisation of mailboxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4552—Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种包括存储器和电子邮件处理单元的电子邮件系统。该存储器存储有带有相关元数据的电子邮件,该元数据表示出电子邮件的处理状态。该电子邮件处理单元读取电子邮件,并基于该元数据确定用于电子邮件传输的下一步操作。本发明提供了一种包括存储单元和处理器的系统。该存储单元存储将要电子发出的消息。该消息包括用于说明与该消息的信息相关的元数据。该存储单元包括本地存储器,其存储有第一数量的信息以及少于所述第一数量的用于说明非紧急消息的信息。该存储装置还包括存储有与该消息相关的额外信息的远程存储器。该处理器操作以确定关于每条消息的信息,并管理与本地存储的消息相关的信息。
Description
相关申请
本发明要求于2004年5月27日提交的名为“利用电子邮件中的元数据来管理虚拟存储器的电子邮件传输系统”、申请号为10/857,601的美国专利申请的优先权,并将该文献的内容全部合并于此作为参考。
背景技术
在我们同样尚未授权的申请,即2004年2月11日提交的美国专利申请10/777,336中描述了一种具有多个新颖而先进特征的高级电子邮件系统。其中所述的电子邮件系统通过将电子邮件编组成在非永久存储器内部形成的规定种类的队列,从而获得了速度提高的特性。非永久存储通常比磁盘存储速度要快,并且由此这样能够充分提高输入/输出速度。此外,该队列自身也能够实现更高的效率。
这种系统还描述了用来提高发送电子邮件的效率的负载平衡和许可授权的各种特性。在我们同样尚未授权的申请中可有详细的说明,其内容合并于此作为参考。
附图说明
现将参照附图详细说明这些特征和其它特征,附图为:
图1是示出了电子邮件信息流的视图;
图2是示出了根据本系统形成的队列的视图;
图3是示出了创建并处理队列的流程图;
图4是示出了处理位于队列内部的消息的流程图;
图5是示出了负载平衡的一个方面的流程图;
图6是示出了队列和处理队列的代理的方框图;
图7示出了组成操作程序的不同功能单元;
图8A是示出了第二实施方案的方框图;
图8B是示出了第二实施方案的示例性消息的布局,该布局示出了它的元数据;
图9是示出了第二实施方案的虚拟存储器的方框图;
图10是示出了消息传输代理和其与虚拟存储器的接口的方框图;
图11是示出了消息传输代理是如何与索引节点服务器及物理存储器接口的方框图;
图12是示出了工作流操作的流程图;
图13是示出了查询操作的流程图;
图14是示出了资源代理及其与其它结构连接的方框图;
图15是示出了策略基准的操作方框图/流程图。
发明内容
本发明对电子邮件处理系统的一些其它方面进行了说明,这些方面包括了新颖而特别的特征。一个方面包括利用元数据作为消息的一部分,其中元数据包括用于该消息的路由和状态信息。
具体说明
本发明说明了一种改进的电子邮件处理和传输系统。
最初,本文给出的说明是对软件模块的说明,该模块在通用的计算机,例如工作站型计算机或基于x86架构的计算机中运行。然而应该理解,本文给出的说明能够作为硬件,例如基于专用电路或采用现场可编程门阵列(FPGA)单元形式来操作,该硬件具有通过硬件定义语言限定的功能。虽然此处给出的说明是具有软件性质的,发明人意欲通过本说明书同样保护以可与本文所述内容相比拟的方式运行的硬件装置。
图2描述了消息队列映射表的信息和用途。该消息队列映射表优选地在非永久存储器内形成,非永久存储器的例子如在邮件服务器内运行的随机存取存储器,邮件服务器的例子如执行简单邮件传送协议(SMTP)功能的服务器。在优选实施例中,全部的邮件处理操作均发生在这种类型的非永久存储器中。
在先系统已经教导了不将非永久存储器用于电子邮件处理的情况。实际上,在运行过程中,当且如果系统发生崩溃时,使用非永久存储器会导致严重的问题。但是,本系统教导了一种方法,它通过存储与电子邮件的处理有关信息和这些电子邮件的处理状态,避免在系统崩溃的过程中出现功能性损失。本发明的一个方面说明了一种非常有效的存储该种状态的方法。
示于图2中的队列映射表具有多个分别以200、202和204表示的消息队列。每个消息队列基于不同变量,包括域名和系统用户端(在虚拟服务器的情况下)来限定。在最简单的队列形式中,它与特定的域相关联。例如消息队列200与域210相关联,该域210为Hotmail.com。用于yahoo.com(域214)的消息队列204包括两个不同的数据节点252、254,它们中的每一个均用于传输到域yahoo.com上。每个数据节点代表与待发送的电子邮件有关的个性化信息。
图中还示出了新消息220。作为操作的一部分,需要将这条新消息添加到现有的队列映射表中。以225表示的输入处理器可以按照图3的流程图中所示的那样进行操作。在300处,该过程接收新消息220。在305处,输入处理器操作建立数据节点230作为表示该消息的摘要。在该实施方案中的数据节点是代表一条消息的对象。该数据节点包括关于正在传送的消息的信息;并且可包括收件人、寄件人、关于该电子邮件的数据、域、唯一的对话标识符、访问计数以及其它用于服务质量(“QoS”)保证和有关路由的详细说明的信息。应该注意的是,该节点并不是该电子邮件自身-相反它们只不过是指向存储在存储器中的该电子邮件的指针(pointer)。
在310处,分析数据节点来确定适当的队列(域操作和其它变量的功能)。单元315确定了是否可将消息添加到现有的队列中。如果可以,就在320处将该数据节点添加到现有的队列中。例如,此处新消息220用于Hotmail.com的域210。因此,将数据节点230添加到现有队列200的末端。
作为另一种选择,如果在315处不能将节点添加到现有队列中,那么将在325处建立新队列,并在330处将数据节点230添加到新建立的队列中。以这种方式可形成多个队列,每个队列与表示具有相似路由策略的消息的节点相关。如果现有队列具有多于最大数量的消息,那么可针对每个队列变量提供多个队列。由于每个队列表示将需要相同处理策略,例如传输到相同的域的消息,因此全部队列的消息可同时传送,从而提高传送过程的效率。
如图2中所示,一个作为输出处理器240的命令集可按照图4的流程图来操作该消息和队列。每个数据节点均表示特定的消息。输出处理器240对数据节点进行处理,以便将邮件发送到预定收件人。输出处理器240作为单个处理过程加以示出,但是还可与例如在任意一个时刻处理单个队列,或利用流水线系统或多线程系统的每个处理过程一起,同时操作多个处理过程。
所述处理从400处开始,在该处输出处理器寻找下一个队列加以处理。这可以循环的方式进行,其中,给每个队列赋值例如一个数字(n),并且该系统简单寻找第n+1个序列,其中最大有n个队列存在。一种替换系统是该输出处理器总是处理其中具有最多消息节点的队列。在这种示例中,根据队列的长度将它们进行排序,并且在该种情况下,在400处找到最长的队列或下一个满队列。然而在另一个实施方案中,还要考虑队列已经存在的时间。换句话说,最长的队列将被最先排序,除非已经有指定时间,例如X分钟未对最长的队列进行处理。
在420处,在当前队列中,消息从队列中找到并被移除,以用于在420处的传输。在425处形成消息包装,该消息包装可在该包装内部包括多条消息。每条位于该包装内部的消息具有其特有的个性化内容,但是消息的通用部分(例如域信息)由包装自身提供。这可进一步提高过程的效率。
判定块430确定是否能够在相同包装的内部执行的队列中存在更多的数据项,如果可以,在420处获得该消息并将其在425处添加到该包装中。在完成该队列后,由435处执行处理过程。这包括定位用于收件人域的SMTP服务器,与该SMTP服务器建立连接,发送代表该消息的协议标记,而后传输该消息。
一旦已将队列中的所有消息移除,而后在445处将该队列从存储映射表中移除或消除。如果由于可恢复的错误导致消息处理失败,那么可将该消息推回到该队列,或表示相同域的新队列中。每当消息传输失败,“访问计数”增加。由于收件人服务器失效,例如处于繁忙的或不可存取的状态,会发生消息故障。而后在450处,处理过程移动到下一个队列中。
图5的流程图中示出了溢出保护。如果接收消息的速度比排队代理225能够处理这些消息的速度快,那么就可能发生溢出。在500处,输入处理器225检测是否存在一个比规定量,例如1000条消息更多的待办事项,或者是否消息队列的容量将花费比规定时间,例如三秒钟更长的时间进行处理。在505处,输入处理器将“暂停”回复发送到正在接收该消息的消息服务器,例如SMTP服务器。暂停回复指示该消息服务器应该停止发送已接收的消息。这导致该消息服务器将已接受到的消息存储起来,直到待办事项减少。
在500处,循环继续检查待办事项。如果在队列的消息数量低于在500处所限制的容量,那么在510处,中继服务器将“发送”回复发送到消息服务器。这使消息服务器能够再次启动来发送消息。
参照图7,服务应用程序702能够将某个电子邮件消息比传送到其它域更快地传送到某个域。在这种情况下,比起针对较慢域的电子邮件,负载平衡器732可将更多针对较快域的电子邮件发送到服务器702。统计查询处理764和监听程序处理可以执行这一步。以这种方式,消息服务器根据中继服务器执行的速率有效调整馈送速率。这可使该系统能够考虑减慢中继服务器的处理速度,并通过减慢中继服务器来防止消息阻塞。
基本的负载平衡是通过如下步骤进行的:
获得下一条消息的参数;
产生个性化的完整标题和正文主体;
询问当前负载状况,并计算用于该消息的传输率;
计算该系统是否准备好传输新消息;并且
如果是,推进该消息。
以这种方式,输入处理器仅在它能够处理消息时才接受该消息。这提供了一个基本负载平衡的特征。
图6示出了电子邮件消息系统的基础方框图。中继服务器602执行处理输入消息的功能。该中继服务器602包括排队代理604,以及存储队列统计单元606和消息反应器607。消息反应器607可以是SMTP服务器,或执行类似功能的服务器或接口到现有SMTP服务器的装置。
消息反应器607将消息传输到用户端的信箱区608。反跳服务器(bounce server)606检测任何欲传送到不存在的信箱区的消息,并将那些用于进一步处理的消息“存储”起来。
输入分析程序616接收并表征该消息。分析程序616包括消息服务器610,统计采集模块612和恢复代理614。这些功能中的每个都可在随机存取存储器(RAM)或非永久存储器中实现,以便简化该数据处理。恢复代理将系统变量的快照(snapshot)存储到永久存储器中,以使得系统能够从计算机崩溃中恢复过来。可替换地,虽然或许存在较少的优选实施例,但队列或部分队列可保存在磁盘驱动器中。这些单元的功能将于此做出进一步的详细说明。
图7是消息在客户端、服务器和许可证服务器确认单元之间的信息传送流程图。该客户端应用程序以700表示,并且它可以是例如在客户端计算机中操作的电子邮件客户端。客户端应用程序700创建常规类型的个性化消息,控制并发出指令将那些信息发送到服务器。这是利用多个代理完成的,所有的这些均可以软件形式操作。
在客户端应用程序700中,多种不同的过程协同操作,以形成并传送电子邮件。消息存档数据库712表示正在传送的特定消息文档,即形成电子邮件的独特部分的文本和/或附件。可用于许多不同电子邮件的其它部分存储在诸如数据库710、714的文档中。数据库710提供电子邮件地址。包括邮件信息和类似于电子邮件的收件人的邮件首选项存储在数据库712中。这两种数据库与邮件配置文件714一起使用,该配置文件存储用于所产生的电子邮件的跟踪信息。
例如在图2中以252表示的节点可以是指向消息存档712中的区域和/或数据库710及配置文件714中的区域的指针。此外,每封电子邮件可分配给由已排序的电子邮件的比特向量形成的唯一标识(ID)。该比特向量可存储在永久存储器中。该比特向量可包括足够的信息来重建消息和每封电子邮件的处理状态。这种信息存储在磁盘或永久存储器中。这能够恢复系统处理过程的全部状态,而无需将电子邮件的全部都存储在磁盘上。
仅存储代表电子邮件的内容,在存储器中的定位等的确定数据。例如可周期性地记录位于每个队列中的每封电子邮件的消息ID,以便存储该状态。如果中继服务器无论出于任何原因而出现问题,那么就将当前正处理消息的ID记录下来。通过启动新的消息服务器,将这些未处理的消息传送到位于配置中的其它中继服务器来补救系统崩溃。如果所有的中继服务器同时出现问题,那么仍然记录未传输的消息ID,并可将其借由该系统传送出去。
记录在数据库710中的电子邮件地址由数据库分析程序720连同邮件配置文件714的内容一起进行处理。相应地,在消息数据库712中的消息记录由消息分析程序722来处理。两种分析程序720和722作用于数据库记录,并将分析内容传送到个性化代理724中。该代理将来自地址记录的分析信息与分析消息结合起来。在一个实施方案中,分析消息可由消息模板形成,它利用来自消息目录的参数,例如在图2中的单元230中示出的参数的标记来填写。将个性化内容,例如名称或其它信息插入到基于个性化信息的输出消息中。
利用个性化代理724的内容创建电子邮件消息以建立消息包装,这包括位于来自数据库分析程序720的分析地址内部、来自消息分析程序722的消息,从而建立个性化消息725。优选地单独在随机存取存储器内部对所产生的地址进行操作,以便能够进行更快速的处理。
而后将个性化信息725传送到队列代理730,该队列代理730将消息输入适当的队列中,并将它在其中排序。队列可参照图2如前所述地那样形成。一般情况下电子邮件是根据将要接收该电子邮件的域排序的。通常所使用的域名可接收多个队列。参照图5如上所述,用户端一服务器负载平衡器732监控队列以确保服务器702没有被引入的电子邮件所淹没。
服务器应用程序702利用要求处理器740获得消息,并将该消息传输到一个或多个传输代理742。尽管仅示出了一个传输代理,但是可以存在许多个这种代理。这些传输代理742将电子邮件消息传递到管理多个远程连接的远程连接库管理器744。这个远程连接库管理器744建立、保持并终止与以746、780和782表示的SMTP服务器之间的连接。远程连接库管理器744可以直接保持与用户端SMTP服务器之间的连接;脱离位于本地互联网服务提供商(ISP)中的SMTP服务器来承担完成这项工作的任务。
远程连接库管理器还利用异步网络域名服务器(DNS)解算装置750,该解算装置处理周期性更新的脱机队列或超高速缓存阵列352。DNS的查找相对于消息传输的其余部分可以是异步的。以这种方式,在750处,对来自DNS超高速缓存阵列752的DNS信息进行的查找可与对消息传输的其它部分的查找同时进行。
一个或多个传输代理342还与记录代理760相联系,这形成监控过程来监控已发送的电子邮件。在系统崩溃的情况下,这能够全部恢复系统。
邮件配置文件714、数据库处理程序720及消息处理程序722在可预测的且合乎逻辑的基础上进行操作。因此,通过获知终端电子邮件传送的中断位置,就可易于恢复存在于任何系统崩溃时候的点。
记录代理760还与统计监听程序处理762以及统计查询处理764相联系。记录代理760监控成功的及不成功的电子邮件传送。当远程服务器无法使用或发生不成功的DNS解析时,就会发生不成功的传送。状态查询处理764还与队列代理730相联系,并保留最后的输出消息的记录。按照这种方式,中断的邮件流可在中断点再次建立起来。
监听程序处理762记录或提供关于电子邮件成功传送的信息。在一实施方案中,关于位于目录中的电子邮件信息仅通过索引列出。例如,监听程序处理762可指出哪个可以成功传输。这还保留关于被拒收的电子邮件信息或记录。电子邮件可能以完成的形式被拒收,以便执行取证分析(forensic analysis)来决定是否发生了故障。记录代理760还可指明单击或开启电子邮件的时间。
记录代理编译并集合来自多个源头的电子邮件,该源头可与许可证服务器统计编译模块770相接触,并还可与许可证服务器确认处理704相接触。许可证服务器确认还与服务器以及用户端相联系。
许可证确认的概念是根据本系统的全新范例。该统计编译模块370编译关于由本系统处理的消息数量的统计信息。在一个实施方案中,服务器确认304确定是否用户端已支付了足以支付已发送消息的数量/类型的适当许可费用。服务器确认304可拒绝发送消息,或可基于消息的数量已超出的情况发送警告。以这种方式,这种软件就可像按次计费的软件一样有效运行。即,可销售具有多条可用消息的初始软件。这使用户能够在规定时间段内评估该软件,通常作为共享件。他们可安装该软件,并且它将如所期望的那样运行,直到到达消息的规定数量。此后,用户需要支付额外的许可费用来处理额外消息。
第二实施方案
替换实施方案利用规定种类的虚拟存储器和与每条消息相关的元数据来细化消息存储信息,将某些但并非全部电子邮件信息保留在非永久存储器中。将某些信息写入永久存储器,而将其它信息保留在非永久存储器中。这可以实现更好的折中平衡。非永久存储器更昂贵,且如在第一实施方案中所公开的那样,在系统崩溃的情况下,需要一些结构方式来备份操作。但是,非永久存储器速度更快,并可导致整个系统更快。因此第二实施方案可仅将某些信息,明确地说,仅将可能在特定处理时间,例如一个操作循环或两个操作循环内处理的信息等存储在非永久存储器中。该第二实施方案还包括由许可证服务器执行的改进功能。
在第一实施方案中,在非永久存储器中执行所有的电子邮件处理。在本第二实施方案中,使用虚拟存储器,它可包括本地存储器,即在服务器自身内部的存储器和非本地存储器的组合,它可以是位于服务器外部的存储器。在一个实施方案中,本地存储器可包括非永久存储器,并且非本地存储器可包括磁盘驱动器和其它永久存储器。
在出现故障时,利用“信息节点(Inode)”服务器结合消息传输代理来维持虚拟存储和用于该信息的备份/恢复系统。利用传输策略来管理消息和队列。可利用在第一实施方案中所说明的任何技术来执行消息传输。但在本实施方案中,消息与说明消息处理状态的元数据相联系。一旦处理完成,就将消息排序,而后将其置于本地存储器中然后传送出去。
图8A示出了本实施方案的方框图。图8B示出了根据本实施方案处理的消息的基本布局。消息具有两部分:以1500表示的实际消息主体,消息路由信息1510,后者可包括标准路由信息,例如域名,目的地名等,还包括以1520示出的元数据。
路由部分1510通常可包括“发出”地址、“到达”地址等。元数据包括关于消息的额外信息。可将不同种类的元数据存储起来。例如服务类元数据可说明不同的事情,该事情应该在发送前或发送后发生在该消息上。事务类元数据可说明消息的布局。例如它的优先级、最大容量等。历史记录类元数据说明了消息的记录,接收它的时间,对它已做过的事情,例如它的传输状态,以及当前消息的不同部分存储的位置。
根据本系统,将电子邮件基于元数据进行排队。在此描述的消息处理代理从元数据处,而不是从电子邮件自身那里获得关于电子邮件的信息。可通过一定格式的电子邮件服务器接收电子邮件信息,在那里该信息尚未做好传送准备。例如,电子邮件可包括“Hotmail.com”格式的地址。这种信息不能用于发送电子邮件;相反,必须典型地借助于DNS查询,找到与该名称相应的DNS。但是,直到已经找到DNS,消息还是尚未做好发送准备。
在其它相似的情况下,可获得一定状态下的消息,在那里该消息尚未做好发送准备。如本发明所述,某些消息需要服务,例如病毒检查等。直到已完成该项服务/操作,该消息还是没有做好发送准备。在其它情况下,消息的收件人服务器仅能够以规定速率接收消息,并且其它现有消息可排在当前消息前。如上所述的负载平衡器可管理发送消息的速率。
利用元数据来说明消息的这些状况。一般来说,示于图8B的示例性元数据通常包括所有的消息信息,通过它们可确定消息的情况或状况。元数据可包括:
x-优先级,它表示消息的优先级,例如高、低或中等;
以x-QoS表示的服务质量,例如,x-QoS可指定传输必须例如在不超过30分钟的时间内完成;
X-TOR可表示接收的时间,以便使模块能够确定从接收到开始所花费的时间;
虚拟ID(x-Vid),例如可从一个服务器发出信息,尝试使该电子邮件看上去就像它正从其它服务器上发出一样。虚拟ID使得该信息看来像是自其它地址发出的。
元数据还可包括:
x-服务-vs,它表明电子邮件需要病毒扫描;x-服务-vs-c,它表明病毒扫描完成。
其它元数据项目,以x-位置表示,它明确确定了消息的位置。
由查看所有元数据及其处理状态的发送代理所添加的其它元数据的数据项为x-rts;或者说准备发送。
因此元数据将消息在其处理过程中曾经具有过的所有状态均存储起来。其它元数据可包括寄件人、接受时间、重试、下次重试策略。
基础系统利用该元数据来确定用于该消息的路由。在图8A中所示的基础系统示出了用于管理虚拟存储器的使用的单元。不同于在第一实施方案中的那样所有的消息信息保留在非永久存储器中,本实施方案将消息信息中的部分存储在本地/非永久存储器中,而将其它部分存储在远程/永久存储器中。优选的是,非永久存储器还保存有更多关于“紧急”消息,即在预定期限内,例如在某些个操作循环内,下一个循环或两个循环内将发出的消息的信息。某些关于非紧急消息的信息存储在本地存储器中。该消息将不会在预定的期限内发出。然而本地存储器存储的关于非紧急消息的信息比存储的关于紧急消息的信息要少。可利用可供选择的方法来确定什么消息是紧急的,这包括基于发送时间、优先级或其它标准将消息限定为紧急消息。优选地,保存在非永久存储器中的消息至少包括关于所有电子邮件的元数据。
图8A的基础方框图示出了消息传输代理800。该消息传输代理800在以802表示的特定传输控制协议(TCP)端口上进行监听。此外,该消息传输代理是一个“范例”,所以其它消息传输代理例如805也可以这样称呼。消息传输代理存储以810表示的队列,该队列表示正在处理的信息和电子邮件。
消息传输代理与虚拟数据存储管理器相联系,后者在此处称之为信息节点服务器820。该信息节点服务器保存信息的清单825,该信息位于可用物理存储器(“p存储器(pstore)”)中,并且它位于当前存储/非当前存储的处理消息中。该信息节点服务器还保存消息的不同逻辑表达方式。这可包括景象(views),例如以队列为基础的景象或优先级景象。实际的消息存储器自身保留在p存储器中。
永久存储器以P存储器服务器830和835示出。一般来说,可将任意数量的永久存储器用于实现该功能。该消息传输代理还与包括已前述过的许可证服务器840在内的多个额外的服务相联系,而且在本实施方案中,该消息传输代理还通过与协议反应器845及资源调度程序850相互作用,来执行额外的功能。该资源调度程序管理通常以855表示的服务,例如抗病毒及其它上面提到的服务。
图9进一步示出了关于消息传输代理800的详情。在操作中,位于消息传输代理800内部的特殊传输代理938保存消息队列810,以用于它正在处理的消息。位于那些队列中的元数据用于将队列排序,并确定待传送的消息。如于此所述的传输代理938保存所有必要的信息,以确定怎样以及何时传送消息。例如,具有较高优先级或传送保证的消息在队列内部可被放置得较高,以便将它们较快地传送出去。服务质量还用于将该队列再次排序。从接收到电子邮件开始的时间可同样用于将队列再次排序,并同样确定是否该消息是“紧急”消息。
消息可位于虚拟存储器和/或任何P存储器内部的任何位置上。这使得该传输代理938能够确定在不同位置上保存消息的不同成本。例如,如果将消息保存在存储器中的成本和时间好于将其保存在磁盘上的成本,那么可将消息保存在存储器中。这种分析是基于在策略基址932中存储的“策略”通过分页分析来进行的。
位于消息传输代理内部的队列900还形成可存储消息例如902的虚拟存储目标,其中每条消息包括不同种类的相关元数据,该元数据包括指向存储在非本地存储器,例如P存储器830中的消息的任意部分的指针。该指针904可指向外部存储器,例如P存储器830。其它指针,例如906可指向本地的随机存取存储器,例如908。
队列管理器936和传输代理938可管理成本和需要执行的操作之间的交替换位,该成本是将不同消息保持在不同种类的存储器中的成本。例如,如上所述,消息可能不是一旦接收就做好了发送出去的准备。可将处于处理过程中的消息列为非紧急消息,并将其存储在永久存储器中直到它们做好发出准备。但是,消息的某部分优选地总是保存在随机或非永久存储器中。这些部分优选地至少包括消息路由信息和元数据。但是,通过上述应该注意的是,元数据中的一项是指向消息的其余部分的实际指针。
以930表示的专用分页处理过程与队列899相互作用。该分页处理过程调整每条消息的不同部分,以使得需要在后几个循环中传送的消息总是能够获得的。该分页处理过程根据位于策略基址932中的规则进行操作。还通过与传输代理938相互作用的队列管理器936将该队列再次排序。该队列可如在第一实施方案中所说明的那样再次排序。
队列管理器936负责利用位于策略基址932中的消息传输策略,以确定下一个将要传送的消息。策略规则932限定了用于下一次传输的策略。示例性规则可包括在常规情况下,选择最陈旧的队列或最陈旧的消息,其它规则可考虑“收件人接收数据有多快”;“是否所有消息均在其元数据中具有特定的紧急标记”,“是否存在用于域调用的某种特定策略”,“服务质量是否要求发送”等。
消息传输代理800可与消息用户端代理940相联系以便将该消息插入到消息传输代理中。该消息用户端代理响应消息中的标题,例如“来自”和“发往”,来适当地路由这些消息。例如,一个消息用户端代理,例如940可连接至多个消息传输代理,并且可将该消息基于队列的内容路由到这些传输代理。
将每条新消息均添加到队列900中,并且队列管理器936基于位于策略基址中的信息,确定是否仅将指向消息的指针保存在本地存储器中,或者是否将保存全部信息。队列处理器936还管理位于队列内部的信息。
传输代理938与队列管理器936合作。队列管理器936确定消息传输策略。例如,对于每个传输循环,该代理与队列管理器一起确定最好的负载,以根据适用于传输的消息是哪些以及有多少消息要发送而将其传输至例如同一目标。传输代理和队列管理器在几个循环前就注意保存位于本地存储器中将要发送的信息。
与位于第一实施方案中作为域自身的函数的消息队列不同的重要特征在于,这些消息队列成为用于描述消息的元数据的函数。该元数据可包括域信息,但还可使用其它因素来形成队列。
虚拟存储器是一种可跨越存储器和磁盘存储器的虚拟装置。图10示出了某些消息例如1002是如何存储在本地存储器中并可直接获得访问的。其它类型的消息例如1004存储在磁盘上并可被检索到,但这需要额外的资源和/或时间来传输。虚拟存储是有效地包含存储器和磁盘的存储寻编址模式。但是,将所有的页映射到以1010表示的虚拟存储器。虚拟存储器1010指向本地存储器1002和/或远程存储器1004,来描述每条消息。当需要访问时,将所需要的页调入存储器中。
此外,位于存储器1010中的每项信息包括元数据形式的虚拟存储器句柄。该虚拟存储器句柄确定了消息的传送能力状态,说明消息实际存储位置的信息存储器信息,以及关于确定其传送能力信息的详情。
这种存档系统使队列能够作为数据结构的抽象概念而存在,该概念用于在传输代理938准备好用于传输的信息前,将存储器消息存储起来。队列将虚拟存储器名称空间1010用于存储,因而排序功能可形成为指向该信息的指针。
排序功能可以域名为基础,或可更为复杂,以例如虚拟服务器为基础。队列还可通过服务质量的保证加以组织。
存档系统
形成存档系统的不同部分之间的相互作用在图11中进一步详细示出。存档系统用于实现虚拟存储,并允许永久一本地存储和非永久一远程存储。存档系统还提供了用于存储器传输代理的查询机制。存档系统还划分消息,并允许分别处理不同的消息部分。
“信息节点”服务器1100形成用于控制访问和形成消息的主信息服务器。每次将对任何消息作出的任何改变通知信息节点服务器。该信息节点服务器在本地存储器中包含每条信息的一览表。该信息节点服务器可在其内部形成的队列结构中组织消息,以1102表示。以1104表示的查询功能允许按照规定的约束条件来查询消息。
恢复代理1106监控消息的变化,并存储能够在系统崩溃时予以恢复的信息。物理存储器1120形成与信息节点服务器系统无关的物理远程存储装置。在信息节点服务器上,该恢复代理1106与物理存储器1120相联系,并将所有对P存储器作出的改变记入日志。以1120表示的物理存储器可包括多个以物理存储器I 1121和物理存储器II 1122表示的子系统。这种系统允许使用任意数量的消息传输代理和任意数量的信息节点服务器和/或P存储器。
消息存储的工作流如图12中所示的流程图进行操作。在1201处,启动信息节点服务器。多个物理存储单元在1210处向信息节点服务器登记。在1220处,接收到来自消息传输代理800的新消息。消息传输代理将消息推入队列中,并在1220处标记出用于磁盘存储器的请求。在1230处,在下一个存储循环过程中,选择将要发送到永久存储器的消息,并且信息节点服务器选择用于存储的位置。接着,在1235处,信息节点服务器建立表示存储位置的元数据,将实际消息存储在该存储位置上,并将元数据插入该序列中以代替消息信息。在1240中,消息传输代理将该消息写入指明的存储器,并在1245处接收指派给信息节点服务器的永久存储器确认ID。在1250处,保存一个记录,以作为用于恢复的检查点。
队列管理器936与消息传输代理相联系,并操作来监控关于队列的请求模式。它依靠MTA策略来管理某种队列状态。例如,每种MTA可具有500MB的标称队列大小或其它的大小。
该队列管理器根据图13中的流程图进行操作。在1300处,它形成队列。在1320处,队列管理器利用位于策略基址932中的规则来尝试预计用于下一个或下两个循环的请求模式。在1325处,它命令队列工作者预取消息。
在1330处,队列管理器请求来自信息节点服务器的消息。在1330处,这种查询的示例可包括获得具有ID号123的消息,获得10条Hotmail消息等。信息节点服务器在1340处将p存储器地址返回,并在1350处MTA按照队列管理器/资源库功能的要求从规定p存储器中检索消息。每条消息包括表示实际存储状态的信息。一旦将信息传送到预期的邮箱中,那么就可将它的主体从p存储器中删除,并对信息节点服务器进行适当的更新。
因此消息传输代理队列变成已在信息节点服务器队列中可以获得的冗余信息。如果MTA信息丢失,那么仅丢失了相互影响的信息,例如DNS状态等。一旦重启,队列可立即重建。
这种体系结构的重要特征在于恢复模式。该消息传输代理包括如上所述的消息队列810。这种队列的每一个中的数据还可在信息节点服务器中获得。例如,参照示于图8所示的队列810所获得的信息还通过示于图11中的队列指针1102进行“复制”。每次在消息传输代理800中的资料发生变化,MTA就报告对信息节点服务器820发生的改变,这样就更新了存储的数据并进而影响适当的信息节点服务器队列。当消息传输代理失效时,某些相互影响的信息,例如DNS状态会丢失。然而,如果消息传输代理失效,那么会启动新的MTA,并在信息节点服务器中从备份队列中立即重新填充它的队列。在最坏的情况下,可能将该消息传送两次,但不会有信息丢失。
信息节点服务器如上所述存储消息元数据和队列。恢复代理1106保存所有这些数据以作为日志信息和检查点信息。据此就可恢复每个单元。
物理存储是执行提供永久存储器,例如硬盘、权能(capability)的接口设备,且可以是执行,例如随机存取图像器件(RAID)磁盘和任何相似物的任何存储装置。这种系统还在提供的单元之一中实现p存储器接口。
图14示出了资源代理器的详细方框图。该资源代理器850如其名字所暗示的那样,在系统中控制存取不同的资源。资源代理器850以一个单独的单元的形式示于图8,但它也可以是信息节点服务器的一部分。资源代理器配合不同的服务并在不同模块内部访问。以850表示的资源代理器表示一个允许访问服务855的模块。该资源代理器包括以851表示的嵌套资源记录。该资源记录表明在给定配置中的可用服务。例如,病毒软件可以是一种可利用的资源,它可在851中记录。资源记录是一种任何资源均能够定制的服务,所以例如如果MTA监听服务,那么它将会了解抗病毒服务的有效性。应用软件要求利用请求管理器1405的服务。也可利用其它服务。例如,日期服务的引用可将这种引用添加到每封电子邮件中。
每个任务可查询任务管理器1400用来允许访问规定的资源。该任务管理器与请求管理器1405相联系以协调访问。例如,将请求访问病毒服务作为任务A1。当A1到达任务管理器队列的前面时,将该请求传送到请求管理器1405,这样准许访问病毒服务。当完成时,请求管理器通知任务管理器以告知通知引擎1410。这用来改变与消息相关的元数据,以表明该任务已完成。同样的操作发生在对P存储器830的访问,以及其它的访问中。任务管理器1400能够不同时期地准许服务。
在描述了所有的单独部件后,可以看出,这些单独部件中的每一个与在信息流管理器中的工作流定义一起工作,以确定体系结构的事务过程,例如收邮件、查毒、标记通信以及发送通信。
图15示出了操作的简化流程图,该操作由传输代理执行以发现下一条待检索并添加到用于本地传输的队列中的消息。应该理解,图15示出了示例性的可执行操作,以及可用于改变这些操作的位于策略数据库中的不同策略。在图15中的每个模块可具有与优先级相关的规则,并且可使用不同的规则/不同的优先级。
在1500处,过程开始于初始步骤,即确定规定某特定是否已做好发送元数据组的准备。如果回答是:是,那么与元数据相关的消息就做好了发送准备。流程前进到确定元数据是否表明存在服务质量的保证的1505处。如果是,则即刻将消息添加到准备发送的队列(视为紧急)中,并使其位于所有其它不具有可比较程度服务质量的保证的消息之前。这可以实现不同程度的服务质量的保证。
如果不存在服务属性的保证,则在1510处确定是否存在针对相同域的现有队列,如果不存在,就在1515处将该消息添加到新的队列中。如果存在现有队列,在1520处确定该队列是否已满。如果是,在1525处消息的优先级增加,并且退出该过程,直到下次处理消息。如果在1520处队列未满,就在1530处将消息添加到队列中,并退出程序。
如果消息在1500处未做好发送准备,那么就在1540处查看消息是否处于“处理过程中”;就是说,已经将其提交到资源代理器中,用于待执行的某种服务。如果是,退出程序直到下次。如果消息未处于处理过程中,那么在1545处检查确定DNS是否完成。如果未完成,就在1550处,将消息发送到资源代理器以进行DNS查找。如果DNS完成,就在1555处查看所有已请求的服务是否已完成。如果未完成,那么在1560处通过资源调用程序请求那些服务。在1565处,查看其它服务是否仍然未完,如果是,在1570处要求该服务发生作用。如果完成了所有的服务,在1570处将元数据标记为准备好发送。所有的上述检查可以是简单的元数据检查,这是由于元数据存储了消息的情况和状态。
而后做好发送消息的准备。在这一点上,消息传输代理800连接至许可证服务器840上,以验证是否授权系统进行进一步的消息传送。许可证服务器还监听TCP端口802,因此它可确定不同消息的发送状态。可由许可证服务器执行的不同操作来确定是否许可证是有效的。许可证可对于不限定用途、或特定处理过程、特定位置标识(IP)地址等有效。因此,确定许可证是否有效可能涉及确定已发送了多少消息、多少个处理过程正处于使用中,以及哪个或哪些个IP地址正处于使用中。
许可证服务器存储以841表示的规则清单。这些规则可通过授权对规则进行改变或处理而在许可证服务器中发生变化。将这种规则优选地做出标记或加密,以避免对许可证服务器的不轨使用。例如,一种可能的规则可以是一种在消息传输代理中查询“你运行了多少处理过程?”的查询程序。还可通过TCP端口直接与许可证服务器发生联系。这能够基于抱怨来激励某人,并保存针对所发送的多封电子邮件的说明。
尽管上文中仅详细公开了几个实施方案,但其它改进也是可能的。所有的这些改进均落在随后的权利要求的范围内。
Claims (37)
1.一种电子邮件系统,包括:
存储有多封电子邮件的存储器,其中在所述多封电子邮件中的电子邮件包括与所述电子邮件相关联的元数据,所述元数据表示出所述电子邮件的处理状态;和
电子邮件处理单元,它读取电子邮件,并至少部分地基于所述元数据来确定用于所述电子邮件传输的下一步操作。
2.如权利要求1所述的系统,其中所述元数据包括服务质量保证,并且所述电子邮件处理单元基于所述服务质量保证元数据来确定电子邮件处理的优先级。
3.如权利要求1所述的系统,其中所述元数据表明所述电子邮件的异步处理状态,并且所述电子邮件处理单元基于所述异步处理状态来确定所述电子邮件是否做好了传输的准备。
4.如权利要求3所述的系统,其中所述异步处理是一种网络域名服务器查找的状态,其中所述元数据表示所述网络域名服务器查找的状态,并且所述电子邮件处理单元基于所述网络域名服务器的查找来确定所述消息是否做好了发送的准备。
5.如权利要求3所述的系统,其中所述异步处理包括对是否针对所述电子邮件已请求了指定服务的指示。
6.如权利要求5所述的系统,其中所述指定服务是病毒检查。
7.如权利要求5所述的系统,其中所述元数据还包括对是否已完成了所述服务的指示。
8.如权利要求3所述的系统,其中所述异步处理包括对是否需要在发送所述电子邮件之前向收件人发送其它电子邮件的指示。
9.一种系统包括:
存储单元,它存储有多条将要电子发送的信息,每条所述信息包括用于说明与所述消息有关的信息的相关元数据,所述存储单元包括本地存储器,它存储有第一数量的信息,所述第一数量的信息说明了发送的可能性更高的紧急消息,还存储有少于所述第一数量的信息的第二数量的信息,所述第二数量的信息说明不太可能发出的非紧急消息;所述存储单元还包括存储有关于所述消息的额外信息的远程存储器;和
处理器,它操作确定关于每条消息的信息,并管理与本地存储的各项消息有关的多项信息。
10.如权利要求9所述的系统,其中每条消息包括消息主体、消息路由信息和所述元数据。
11.如权利要求10所述的系统,其中所述元数据包括服务元数据,其说明需要在所述消息上发生的操作。
12.如权利要求10所述的系统,其中所述元数据包括事务元数据,其确定与所述消息的形式有关的信息。
13.如权利要求10所述的系统,其中所述元数据包括历史记录元数据,其它说明所述消息处理的历史记录。
14.如权利要求10所述的系统,其中所述处理器包括消息处理代理,其从所述元数据那里获得关于所述电子邮件的信息,并确定关于电子邮件的队列的信息。
15.如权利要求9所述的系统,其中所述处理器操作以确定电子邮件的队列,所述队列表示将电子邮件发送到具有某种共同特征的位置上。
16.如权利要求15所述的系统,其中所述处理器还操作以确定发送到所述位置的速率,并基于指示出所述发送速率的信息来管理所述队列。
17.如权利要求9所述的系统,其中所述元数据表示出所述消息的发送优先级。
18.如权利要求9所述的系统,其中所述元数据表示出与所述消息相关的服务质量。
19.如权利要求9所述的系统,其中所述元数据表示出与所述消息相关的虚拟识别信息。
20.如权利要求9所述的系统,其中所述元数据表示出在所述消息上执行的服务。
21.如权利要求20所述的系统,其中所述服务是病毒扫描,并且所述元数据指示出病毒扫描是否完成。
22.如权利要求9所述的系统,其中所述元数据表示出用于再次发送的策略。
23.如权利要求9所述的系统,其中所述紧急消息是可能在预定期间内发送的消息,并且所述非紧急消息是不太可能在所述预定期间内发送的消息。
24.一种方法,包括:
将指示出多条消息信息的信息存储到本地存储器中;
将其它消息信息存储到非本地存储器中,所述其它消息信息包括与某些存储在所述本地存储器中的所述消息信息相关的额外信息;及
管理存储在所述本地存储器和所述非本地存储器中的信息,以使得将立即传送的消息具有存储在所述本地存储器中的第一数量的信息,并且不会立即传送的信息具有存储在所述本地存储器中的第二数量的信息,其中所述第二数量小于所述第一数量。
25.如权利要求24所述的方法,其中将立即传送的所述消息是可能在预定数量的操作循环内发出的消息。
26.如权利要求24所述的方法,其中所述本地存储器将关于所述消息的元数据作为所述第一数量的信息加以存储,并基本上将完成的消息存储在所述第二数量的信息中。
27.如权利要求26所述的方法,其中所述元数据包括服务元数据,其说明需要发生在所述消息的操作。
28.如权利要求26所述的方法,其中所述元数据包括事务元数据,其确定与所述消息的形式有关的信息。
29.如权利要求26所述的方法,其中所述元数据包括历史记录元数据,其说明所述消息处理的历史记录。
30.一种如权利要求26所述的方法,还包括:
从所述元数据处获得关于所述电子邮件的信息;以及
确定出其中各个处于所述队列中的电子邮件具有共同特征的与电子邮件的队列相关的信息。
31.如权利要求30所述的方法,还包括确定发送到所述位置的速率,并基于指示出所述发送速率的信息来管理所述队列。
32.如权利要求26所述的方法,还包括利用所述元数据来表示所述消息的发送优先级。
33.如权利要求26所述的方法,还包括利用所述元数据来表示与所述消息相关的服务质量。
34.如权利要求26所述的方法,还包括利用所述元数据来表示与所述消息相关的虚拟识别信息。
35.如权利要求26所述的方法,还包括利用所述元数据来表示在所述消息上执行的服务。
36.如权利要求26所述的方法,还包括利用所述元数据来表示病毒扫描,并且所述元数据指示出病毒扫描是否完成。
37.如权利要求26所述的方法,其中所述元数据表示用于再次发送的策略。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/857,601 | 2004-05-27 | ||
US10/857,601 US7698369B2 (en) | 2004-05-27 | 2004-05-27 | Email delivery system using metadata on emails to manage virtual storage |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101002190A true CN101002190A (zh) | 2007-07-18 |
Family
ID=35426674
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2005800253131A Pending CN101002190A (zh) | 2004-05-27 | 2005-05-26 | 利用电子邮件中的元数据来管理虚拟存储器的电子邮件传输系统 |
Country Status (5)
Country | Link |
---|---|
US (5) | US7698369B2 (zh) |
EP (2) | EP2800038A1 (zh) |
CN (1) | CN101002190A (zh) |
CA (1) | CA2568127C (zh) |
WO (1) | WO2005119489A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276878A (zh) * | 2012-07-16 | 2017-10-20 | 迈克菲公司 | 在网络环境下使用本地策略应用进行云电子邮件消息扫描 |
CN114503109A (zh) * | 2019-10-17 | 2022-05-13 | 国际商业机器公司 | 维护系统安全性 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004052692B4 (de) * | 2004-10-29 | 2008-04-24 | Siemens Ag | Verfahren zur Übermittlung von in Form von Datenpaketen zur Verfügung stehenden Daten |
JP4849794B2 (ja) * | 2004-11-12 | 2012-01-11 | 株式会社リコー | 画像形成装置 |
US7631315B2 (en) * | 2005-03-28 | 2009-12-08 | Microsoft Corporation | Using subqueues to enhance local message processing |
US8499044B2 (en) * | 2006-12-07 | 2013-07-30 | Microsoft Corporation | Formatted message processing utilizing a message map |
US8239519B2 (en) * | 2007-02-13 | 2012-08-07 | International Business Machines Corporation | Computer-implemented methods, systems, and computer program products for autonomic recovery of messages |
US20080270548A1 (en) * | 2007-04-24 | 2008-10-30 | Danger, Inc. | Apparatus and method for caching email messages within a wireless data service |
US8239460B2 (en) * | 2007-06-29 | 2012-08-07 | Microsoft Corporation | Content-based tagging of RSS feeds and E-mail |
US8375052B2 (en) * | 2007-10-03 | 2013-02-12 | Microsoft Corporation | Outgoing message monitor |
US8601069B1 (en) * | 2007-11-21 | 2013-12-03 | Marvell International Ltd. | Method and apparatus for message multicasting |
US9229792B1 (en) | 2007-11-21 | 2016-01-05 | Marvell International Ltd. | Method and apparatus for weighted message passing |
US8862671B2 (en) * | 2007-12-14 | 2014-10-14 | Microsoft Corporation | Aggregate communications with intelligent sourcing |
US20100017294A1 (en) * | 2008-01-24 | 2010-01-21 | Mailmethods, Llc | Email advertisement system and method |
US20090228360A1 (en) * | 2008-03-07 | 2009-09-10 | Mailmethods, Llc | Email advertisement system and method for online retail |
JP5035049B2 (ja) * | 2008-03-17 | 2012-09-26 | 富士通株式会社 | 電子メール中継システム及び電子メール中継システムの制御方法 |
EP2134042A1 (en) * | 2008-06-12 | 2009-12-16 | Koninklijke KPN N.V. | Email handling system comprising meta-data storage |
US8443379B2 (en) * | 2008-06-18 | 2013-05-14 | Microsoft Corporation | Peek and lock using queue partitioning |
US9104682B2 (en) * | 2008-07-15 | 2015-08-11 | International Business Machines Corporation | Method and apparatus to elegantly and automatically track emails and its attachments for enhanced user convenience |
US8069211B2 (en) * | 2009-01-23 | 2011-11-29 | Microsoft Corporation | High availability message transfer system for side effect messages |
US7640589B1 (en) * | 2009-06-19 | 2009-12-29 | Kaspersky Lab, Zao | Detection and minimization of false positives in anti-malware processing |
US8260930B2 (en) * | 2009-12-07 | 2012-09-04 | At&T Intellectual Property I, L.P. | Systems, methods and computer readable media for reporting availability status of resources associated with a network |
FR2955992B1 (fr) * | 2010-01-29 | 2012-04-20 | Inst Nat Rech Inf Automat | Dispositif de commutation ou de routage modulable |
US9578081B2 (en) | 2011-02-02 | 2017-02-21 | Imvu, Inc. | System and method for providing an actively invalidated client-side network resource cache |
US8799400B2 (en) * | 2011-02-02 | 2014-08-05 | Imvu, Inc. | System and method for managing multiple queues of non-persistent messages in a networked environment |
US10255587B2 (en) * | 2012-01-18 | 2019-04-09 | Microsoft Technology Licensing, Llc | System and method for blended presentation of locally and remotely stored electronic messages |
US9741061B2 (en) * | 2012-03-01 | 2017-08-22 | Sarah Nash Brechner | System and method for personal customization of digital content |
US8995260B2 (en) | 2012-08-09 | 2015-03-31 | Blackberry Limited | Method and apparatus for managing load in a communication network |
US8976648B2 (en) | 2012-08-09 | 2015-03-10 | Blackberry Limited | Method and apparatus for managing load on service devices in a communication network |
FR2997776B1 (fr) * | 2012-11-05 | 2015-12-18 | Xooloo | Gestion perfectionnee d'une base de messages |
US9258263B2 (en) | 2012-11-29 | 2016-02-09 | International Business Machines Corporation | Dynamic granular messaging persistence |
US10171409B2 (en) | 2012-12-04 | 2019-01-01 | Selligent, Inc. | Systems and methods for path optimization in a message campaign |
US10375155B1 (en) | 2013-02-19 | 2019-08-06 | F5 Networks, Inc. | System and method for achieving hardware acceleration for asymmetric flow connections |
US9338117B2 (en) | 2013-09-16 | 2016-05-10 | International Business Machines Corporation | Electronic notification systems and methods |
GB2520972A (en) | 2013-12-05 | 2015-06-10 | Ibm | Workload management |
US8977607B1 (en) * | 2014-02-28 | 2015-03-10 | Linkedin Corporation | System and method for threading electronic messages |
KR102264992B1 (ko) | 2014-12-31 | 2021-06-15 | 삼성전자 주식회사 | 무선 통신 시스템에서 서버 할당 방법 및 장치 |
US10701009B1 (en) * | 2015-08-10 | 2020-06-30 | Amazon Technologies, Inc. | Message exchange filtering |
JP6980689B2 (ja) * | 2016-03-31 | 2021-12-15 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | 撮像システム及び撮像システムの複数のノード間における通信のための通信プラットフォーム |
US10686832B2 (en) * | 2016-12-19 | 2020-06-16 | Verisign, Inc. | Dynamic allocation of a signal receiver for dissemination of threat information |
CN106992926A (zh) * | 2017-06-13 | 2017-07-28 | 深信服科技股份有限公司 | 一种伪造邮件检测的方法与系统 |
US11122057B2 (en) * | 2017-09-01 | 2021-09-14 | Open Text Holdings, Inc. | Systems, methods and computer program products for ingress email security |
US10320715B1 (en) * | 2017-10-31 | 2019-06-11 | Sprint Communications Company L.P. | Automated scaling of computing message architecture |
US10645040B2 (en) * | 2017-12-29 | 2020-05-05 | Facebook, Inc. | Techniques for consistent writes in a split message store |
US10673791B2 (en) | 2017-12-29 | 2020-06-02 | Facebook, Inc. | Techniques for data reads from secondary stores |
US11405343B2 (en) | 2017-12-29 | 2022-08-02 | Meta Platforms, Inc. | Techniques for extensible message indexing |
US10642877B2 (en) * | 2017-12-29 | 2020-05-05 | Facebook, Inc. | Techniques for consistent reads in a split message store |
CN112134790B (zh) * | 2020-09-28 | 2023-04-14 | 平安养老保险股份有限公司 | 基于优先级的邮件发送方法、装置、设备及存储介质 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493692A (en) * | 1993-12-03 | 1996-02-20 | Xerox Corporation | Selective delivery of electronic messages in a multiple computer system based on context and environment of a user |
JPH1198176A (ja) * | 1997-09-24 | 1999-04-09 | Sharp Corp | 電子メール送受信システムおよび電子メール送受信方法ならびにこの方法を記録した記録媒体 |
JP3439330B2 (ja) * | 1997-09-25 | 2003-08-25 | 日本電気株式会社 | 電子メールサーバ |
JP3610380B2 (ja) | 1997-12-27 | 2005-01-12 | カシオ計算機株式会社 | 携帯電子メール端末装置 |
JPH11345184A (ja) | 1998-06-01 | 1999-12-14 | Sharp Corp | 電子メール通信装置及びその制御方法 |
US6275912B1 (en) * | 1998-06-30 | 2001-08-14 | Microsoft Corporation | Method and system for storing data items to a storage device |
US6442593B1 (en) * | 1999-02-01 | 2002-08-27 | Sony Corporation | Methods and apparatus for transmitting prioritized electronic mail messages |
KR20010021089A (ko) * | 1999-07-23 | 2001-03-15 | 스테븐 디.피터스 | 네트워크 대역폭을 효율적으로 이용하여 전자 메일서비스를 이동 장치에 제공하기 위한 방법 및 장치 |
JP2001125839A (ja) | 1999-10-22 | 2001-05-11 | Nec Corp | 端末機器のメール送受信システム |
US6850968B1 (en) | 2000-02-01 | 2005-02-01 | Service Co. | Reduction of network server loading |
US7693866B1 (en) * | 2000-03-07 | 2010-04-06 | Applied Discovery, Inc. | Network-based system and method for accessing and processing legal documents |
AU2001283248A1 (en) * | 2000-08-08 | 2002-02-18 | Tumbleweed Communications Corp. | Recipient-specified automated processing of electronic messages |
US7054863B2 (en) * | 2000-11-15 | 2006-05-30 | Pacific Datavision, Inc. | System and method for originating, storing, processing and delivering message data |
US7058687B2 (en) * | 2001-04-03 | 2006-06-06 | Sendmail, Inc. | E-mail system with methodology for accelerating mass mailings |
US20020147780A1 (en) * | 2001-04-09 | 2002-10-10 | Liu James Y. | Method and system for scanning electronic mail to detect and eliminate computer viruses using a group of email-scanning servers and a recipient's email gateway |
US20030105825A1 (en) | 2001-05-01 | 2003-06-05 | Profluent, Inc. | Method and system for policy based management of messages for mobile data networks |
US7380126B2 (en) * | 2001-06-01 | 2008-05-27 | Logan James D | Methods and apparatus for controlling the transmission and receipt of email messages |
JP3672245B2 (ja) | 2001-06-15 | 2005-07-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | メール発信システム、メールサーバ、メール転送システム、メール転送方法、メール発信方法、メール配信方法、プログラム |
US20030093576A1 (en) * | 2001-11-13 | 2003-05-15 | International Business Machines Corporation | Method and system for message management |
US7487212B2 (en) | 2001-12-14 | 2009-02-03 | Mirapoint Software, Inc. | Fast path message transfer agent |
US7031009B2 (en) * | 2001-12-26 | 2006-04-18 | Xerox Corporation | Use of e-mail for capture of document metadata |
CA2476349C (en) * | 2002-02-19 | 2010-09-28 | Scott Michael Petry | E-mail management services |
US20030195937A1 (en) * | 2002-04-16 | 2003-10-16 | Kontact Software Inc. | Intelligent message screening |
AUPS281802A0 (en) * | 2002-06-06 | 2002-06-27 | Arc-E-Mail Ltd | A storage process and system |
US20040002958A1 (en) * | 2002-06-26 | 2004-01-01 | Praveen Seshadri | System and method for providing notification(s) |
US20040078580A1 (en) * | 2002-10-18 | 2004-04-22 | Trend Micro Incorporated | Antivirus network system and method for handling electronic mails infected by computer viruses |
US20040128355A1 (en) * | 2002-12-25 | 2004-07-01 | Kuo-Jen Chao | Community-based message classification and self-amending system for a messaging system |
US7113948B2 (en) * | 2003-03-21 | 2006-09-26 | Acellion Pte Ltd. | Methods and systems for email attachment distribution and management |
US7539728B2 (en) * | 2003-08-07 | 2009-05-26 | International Business Machines Corporation | Time sensitive electronic mail |
US7480696B2 (en) * | 2004-01-07 | 2009-01-20 | International Business Machines Corporation | Instant messaging priority filtering based on content and hierarchical schemes |
US20050204009A1 (en) * | 2004-03-09 | 2005-09-15 | Devapratim Hazarika | System, method and computer program product for prioritizing messages |
US7426541B2 (en) * | 2004-09-07 | 2008-09-16 | Storage Technology Corporation | Electronic mail metadata generation and management |
US7734670B2 (en) * | 2004-12-15 | 2010-06-08 | Microsoft Corporation | Actionable email documents |
-
2004
- 2004-05-27 US US10/857,601 patent/US7698369B2/en active Active
-
2005
- 2005-05-26 EP EP20140179487 patent/EP2800038A1/en not_active Ceased
- 2005-05-26 EP EP20050755938 patent/EP1769378B1/en active Active
- 2005-05-26 CA CA 2568127 patent/CA2568127C/en active Active
- 2005-05-26 WO PCT/US2005/019223 patent/WO2005119489A2/en active Application Filing
- 2005-05-26 CN CNA2005800253131A patent/CN101002190A/zh active Pending
-
2010
- 2010-04-12 US US12/758,732 patent/US8402100B2/en active Active
-
2013
- 2013-03-18 US US13/846,867 patent/US8914455B2/en not_active Expired - Lifetime
-
2014
- 2014-12-04 US US14/560,468 patent/US9553836B2/en not_active Expired - Lifetime
-
2017
- 2017-01-12 US US15/405,192 patent/US10601754B2/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107276878A (zh) * | 2012-07-16 | 2017-10-20 | 迈克菲公司 | 在网络环境下使用本地策略应用进行云电子邮件消息扫描 |
CN107276878B (zh) * | 2012-07-16 | 2020-08-04 | 迈克菲有限责任公司 | 在网络环境下使用本地策略应用进行云电子邮件消息扫描 |
CN114503109A (zh) * | 2019-10-17 | 2022-05-13 | 国际商业机器公司 | 维护系统安全性 |
CN114503109B (zh) * | 2019-10-17 | 2022-09-23 | 国际商业机器公司 | 用于维护数据处理系统安全性的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2005119489A2 (en) | 2005-12-15 |
US20150106938A1 (en) | 2015-04-16 |
EP1769378A4 (en) | 2009-07-08 |
EP1769378B1 (en) | 2014-09-03 |
US20130318178A1 (en) | 2013-11-28 |
WO2005119489A3 (en) | 2006-11-09 |
US8914455B2 (en) | 2014-12-16 |
US7698369B2 (en) | 2010-04-13 |
EP1769378A2 (en) | 2007-04-04 |
CA2568127C (en) | 2014-07-22 |
EP2800038A1 (en) | 2014-11-05 |
US10601754B2 (en) | 2020-03-24 |
US8402100B2 (en) | 2013-03-19 |
CA2568127A1 (en) | 2005-12-15 |
US20050267941A1 (en) | 2005-12-01 |
US20170126607A1 (en) | 2017-05-04 |
US9553836B2 (en) | 2017-01-24 |
US20110040840A1 (en) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101002190A (zh) | 利用电子邮件中的元数据来管理虚拟存储器的电子邮件传输系统 | |
CN100483405C (zh) | 用于警报传递体系结构的方法和系统 | |
CN100517317C (zh) | 用于保持可由客户机通过网络访问的文件集名称空间的方法、系统 | |
CN101636742B (zh) | 对有时间限制的消息进行有效处理的方法和设备 | |
TWI430176B (zh) | 管理持久的方法、裝置及電腦程式 | |
US7376953B2 (en) | Apparatus and method for routing a transaction to a server | |
US7793112B2 (en) | Access to content addressable data over a network | |
US6292825B1 (en) | Service application with pull notification | |
US8543615B1 (en) | Auction-based service selection | |
CN110515912A (zh) | 日志处理方法、装置、计算机装置及计算机可读存储介质 | |
US9462077B2 (en) | System, method, and circuit for servicing a client data service request | |
US20020120697A1 (en) | Multi-channel messaging system and method | |
EP1394706A1 (en) | Network-based information management | |
CN101809613A (zh) | 聚集和传递信息 | |
CN114363352B (zh) | 基于区块链的物联网系统跨链交互方法 | |
JP2006519559A (ja) | 非永続的メモリ内のキューを用いる電子メール | |
CN101103331A (zh) | 在内容寻址的存储设备上实施应用程序特定管理策略 | |
De Prisco et al. | A dynamic view-oriented group communication service | |
WO2000069141A2 (en) | File transfer system and method | |
US7664841B2 (en) | Selective activation of TCP/IP link and traffic | |
KR20020048276A (ko) | 다수의 클라이언트가 대용량 이메일 전송 시스템을공용하면서 대량의 이메일 전송을 할 수 있도록 하는 웹어플리케이션 서비스 방법 | |
EP4184325A1 (en) | Method and system for high-throughput distributed computing of computational jobs | |
Marshall et al. | A Policy based Management Architecture for large scale active communication systems | |
JPH09212550A (ja) | コンピュータシステム及びそのスケジュール管理方法 | |
JP2000227887A (ja) | データ配信設備 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |