用于投递时间敏感电子邮件的方法和系统.pdf

上传人:e1 文档编号:1000628 上传时间:2018-03-24 格式:PDF 页数:39 大小:1.96MB
返回 下载 相关 举报
摘要
申请专利号:

CN200410045227.4

申请日:

2004.06.04

公开号:

CN1581192A

公开日:

2005.02.16

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F17/60

主分类号:

G06F17/60

申请人:

国际商业机器公司

发明人:

巴尔加弗·V·佩雷帕; 苏加萨·佩雷帕; 维什沃纳思·文卡塔拉马帕

地址:

美国纽约州

优先权:

2003.08.07 US 10/637,026

专利代理机构:

北京市柳沈律师事务所

代理人:

郭定辉;黄小临

PDF下载: PDF下载
内容摘要

投递时间敏感电子邮件包括:建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息,包括在所述电子邮件消息中插入将所述消息标识为适于时间敏感投递的消息的数据元素;给所述消息指定投递时间约束;按照时间约束和适于暂时存储在邮箱外部,向具有收信人的邮箱的各电子邮件服务器投递消息;以及指令各服务器在大致相同的时间将所述消息放在所有收信人的邮箱中。

权利要求书

1.  一种用于投递时间敏感电子邮件的方法,所述方法包括:
建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息,包括在所述电子邮件消息中插入将所述消息标识为适于时间敏感投递的消息的数据元素;
给所述消息指定投递时间约束;
按照时间约束和适于暂时存储在邮箱外部,向具有收信人的邮箱的各电子邮件服务器投递消息;以及
指令各服务器在大致相同的时间将所述消息放在所有收信人的邮箱中。

2.
  按照权利要求1的方法,其中建立电子邮件消息包括:当不能满足时间约束时指示要采取的行为。

3.
  按照权利要求1的方法,其中建立电子邮件消息包括:当已经在邮箱外部存储了消息的一个或多个服务器未能接收到将消息放在邮箱中的指令时指示要采取的行为。

4.
  按照权利要求1的方法,其中所述电子邮件消息包括分级收信人列表,在其中包括别名,所述方法还包括将分级收信人列表扩展为不包括别名的平展收信人列表。

5.
  按照权利要求4的方法,其中扩展分层收信人列表包括扩展在除了建立所述电子邮件消息的电子邮件客户端之外的一个或多个电子邮件主机上定义的一个或多个别名。

6.
  按照权利要求1的方法,其中所述电子邮件消息包括包含电子邮件地址的收信人列表,所述方法还包括验证在所述收信人列表中的所有电子邮件地址。

7.
  按照权利要求1的方法,还包括确定是否可以按照时间约束来投递所述消息。

8.
  按照权利要求7的方法,还包括提供消息投递量度,在其中确定是否可以按照时间约束来投递消息还包括根据消息投递量度来确定是否可以按照时间约束来投递消息。

9.
  按照权利要求1的方法,还包括:
确定不能按照时间约束来投递消息;以及
通知建立电子邮件消息的用户不能按照时间约束来投递消息。

10.
  按照权利要求1的方法,还包括:提供描述消息的投递的消息投递信息来供用户查看。

11.
  一种用于投递时间敏感电子邮件的方法,所述方法包括:
在电子邮件服务器中接收一个电子邮件消息以时间敏感地投递给多个收信人,其中所述电子邮件服务器被布置在电子邮件消息的投递路经内,并且所述电子邮件消息具有发送者;
向所述电子邮件消息的发送者发送承载消息投递信息的电子邮件协议消息;以及
如果所述电子邮件服务器不是在投递路经上的最后电子邮件服务器,则将所述电子邮件消息中转到在投递路经上的下一个服务器。

12.
  按照权利要求11的方法,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括至少一个收信人的邮箱,所述方法还包括:
在收信人的邮箱外部暂时存储消息;
从发送者接收将消息移动到收信人的邮箱的指令;以及
响应于所述指令,将所述消息移动到收信人的邮箱。

13.
  按照权利要求11的方法,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括收信人的邮箱,所述消息包括至少一个定时约束和至少一个关于投递的用户偏好,所述方法还包括:
在收信人的邮箱外部暂时存储消息;以及
根据所述定时约束和用户偏好来将消息移动到收信人的邮箱。

14.
  按照权利要求11的方法,其中所述电子邮件服务器包括在投递路经上的最后服务器,并且所述方法还包括:
在收信人的邮箱外部暂时存储消息;
从发送者接收丢弃消息的指令;以及
响应于所述指令,丢弃消息。

15.
  一种用于投递时间敏感电子邮件的系统,所述系统包括:
用于建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息的装置,包括在所述电子邮件消息中插入将所述消息标识为适于时间敏感投递的消息的数据元素;
用于给所述消息指定投递时间约束的装置;
用于按照时间约束和适于暂时存储在邮箱外部,向具有收信人的邮箱的各电子邮件服务器投递消息的装置;以及
用于指令各服务器在大致相同的时间将所述消息放在所有收信人的邮箱中的装置。

16.
  按照权利要求15的系统,其中用于建立电子邮件消息的装置包括:用于当不能满足时间约束时指示要采取的行为的装置。

17.
  按照权利要求15的系统,其中用于建立电子邮件消息的装置包括:用于当已经在邮箱外部存储了消息的一个或多个服务器未能接收到将消息放在邮箱中的指令时指示要采取的行为的装置。

18.
  按照权利要求15的系统,其中所述电子邮件消息包括分级收信人列表,其中包括别名,所述系统还包括用于将分级收信人列表扩展为不包括别名的平展收信人列表的装置。

19.
  按照权利要求18的系统,其中用于扩展分层收信人列表的装置包括用于扩展在除了建立所述电子邮件消息的电子邮件客户端之外的一个或多个电子邮件主机上定义的一个或多个别名的装置。

20.
  按照权利要求15的系统,其中所述电子邮件消息包括包含电子邮件地址的收信人列表,所述系统还包括用于验证在所述收信人列表中的所有电子邮件地址的装置。

21.
  按照权利要求15的系统,还包括用于确定是否可以按照时间约束来投递所述消息的装置。

22.
  按照权利要求21的系统,还包括用于提供消息投递量度的装置,在其中用于确定是否可以按照时间约束来投递消息的装置还包括用于根据消息投递量度来确定是否可以按照时间约束来投递消息的装置。

23.
  按照权利要求21的系统,还包括:
用于确定不能按照时间约束来投递消息的装置;以及
用于通知建立电子邮件消息的用户不能按照时间约束来投递消息的装置。

24.
  按照权利要求15的系统,还包括:用于提供描述消息的投递的消息投递信息来供用户查看的装置。

25.
  一种用于投递时间敏感电子邮件的系统,所述系统包括:
用于在电子邮件服务器中接收一个电子邮件消息以时间敏感地投递给多个收信人的装置,其中所述电子邮件服务器被布置在电子邮件消息的投递路经内,并且所述电子邮件消息具有发送者;
用于向所述电子邮件消息的发送者发送承载消息投递信息的电子邮件协议消息的装置;以及
如果所述电子邮件服务器不是在投递路经上的最后电子邮件服务器,则用于将所述电子邮件消息中转到在投递路经上的下一个服务器的装置。

26.
  按照权利要求25的系统,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括至少一个收信人的邮箱,所述系统还包括:
用于在收信人的邮箱外部暂时存储消息的装置;
用于从发送者接收将消息移动到收信人的邮箱的指令的装置;以及
响应于所述指令,用于将所述消息移动到收信人的邮箱的装置。

27.
  按照权利要求25的系统,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括收信人的邮箱,所述消息包括至少一个定时约束和至少一个关于投递的用户偏好,所述系统还包括:
用于在收信人的邮箱外部暂时存储消息的装置;以及
用于根据所述定时约束和用户偏好来将消息移动到收信人的邮箱的装置。

28.
  按照权利要求25的系统,其中所述电子邮件服务器包括在投递路经上的最后服务器,并且所述系统还包括:
用于在收信人的邮箱外部暂时存储消息的装置;
用于从发送者接收丢弃消息的指令的装置;以及
响应于所述指令,用于丢弃消息的装置。

29.
  一种用于投递时间敏感电子邮件的计算机程序产品,所述计算机程序产品包括:
记录介质;
在记录介质上记录的、用于建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息的部件,包括在所述电子邮件消息中插入将所述消息标识为适于时间敏感投递的消息的数据元素;
在记录介质上记录的、用于给所述消息指定投递时间约束的部件;以及
在记录介质上记录的、用于按照时间约束和适于暂时存储在邮箱外部,向具有收信人的邮箱的各电子邮件服务器投递消息的部件;
在记录介质上记录的、用于指令各服务器在大致相同的时间将所述消息放在所有收信人的邮箱中的部件。

30.
  按照权利要求29的计算机程序产品,其中建立电子邮件消息包括:当不能满足时间约束时指示要采取的行为。

31.
  按照权利要求29的计算机程序产品,其中用于建立电子邮件消息的部件包括:在记录介质上记录的、用于当已经在邮箱外部存储了消息的一个或多个服务器未能接收到将消息放在邮箱中的指令时指示要采取的行为的部件。

32.
  按照权利要求29的计算机程序产品,其中所述电子邮件消息包括分级收信人列表,其中包括别名,所述计算机程序产品还包括:在记录介质上记录的、用于将分级收信人列表扩展为不包括别名的平展收信人列表的部件。

33.
  按照权利要求32的计算机程序产品,其中用于扩展分层收信人列表的部件包括在记录介质上记录的、用于扩展在除了建立所述电子邮件消息的电子邮件客户端之外的一个或多个电子邮件主机上定义的一个或多个别名的部件。

34.
  按照权利要求29的计算机程序产品,其中所述电子邮件消息包括包含电子邮件地址的收信人列表,所述计算机程序产品还包括:在记录介质上记录的、用于验证在所述收信人列表中的所有电子邮件地址的部件。

35.
  按照权利要求29的计算机程序产品,还包括:在记录介质上记录的、用于确定是否可以按照时间约束来投递所述消息的部件。

36.
  按照权利要求35的计算机程序产品,还包括:在记录介质上记录的、用于提供消息投递量度的部件,其中用于确定是否可以按照时间约束来投递消息的部件还包括:在记录介质上记录的、用于根据消息投递量度来确定是否可以按照时间约束来投递消息的部件。

37.
  按照权利要求29的计算机程序产品,还包括:
在记录介质上记录的、用于确定不能按照时间约束来投递消息的部件;以及
在记录介质上记录的、用于通知建立电子邮件消息的用户不能按照时间约束来投递消息的部件。

38.
  按照权利要求29的计算机程序产品,还包括:在记录介质上记录的、用于提供描述消息的投递的消息投递信息来供用户查看的部件。

39.
  一种用于投递时间敏感电子邮件的计算机程序产品,所述计算机程序产品包括:
记录介质;
在记录介质上记录的、用于在电子邮件服务器中接收一个电子邮件消息以时间敏感地投递给多个收信人的部件,其中所述电子邮件服务器被布置在电子邮件消息的投递路经内,并且所述电子邮件消息具有发送者;
在记录介质上记录的、用于向所述电子邮件消息的发送者发送承载消息投递信息的电子邮件协议消息的部件;以及
在记录介质上记录的、用于如果所述电子邮件服务器不是在投递路经上的最后电子邮件服务器、则将所述电子邮件消息中转到在投递路经上的下一个服务器的部件。

40.
  按照权利要求39的计算机程序产品,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括至少一个收信人的邮箱,所述计算机程序产品还包括:
在记录介质上记录的、用于在收信人的邮箱外部暂时存储消息的部件;
在记录介质上记录的、用于从发送者接收将消息移动到收信人的邮箱的指令的部件;以及
在记录介质上记录的、用于响应于所述指令、将所述消息移动到收信人的邮箱的部件。

41.
  按照权利要求39的计算机程序产品,其中所述电子邮件服务器包括在投递路经上的最后服务器,所述电子邮件服务器还包括收信人的邮箱,所述消息包括至少一个定时约束和至少一个关于投递的用户偏好,所述计算机程序产品还包括:
在记录介质上记录的、用于在收信人的邮箱外部暂时存储消息的部件;以及
在记录介质上记录的、用于根据所述定时约束和用户偏好来将消息移动到收信人的邮箱的部件。

42.
  按照权利要求39的计算机程序产品,其中所述电子邮件服务器包括在投递路经上的最后服务器,并且所述计算机程序产品还包括:
在记录介质上记录的、用于在收信人的邮箱外部暂时存储消息的部件;
在记录介质上记录的、用于从发送者接收丢弃消息的指令的部件;以及
在记录介质上记录的、响应于所述指令,操作用于丢弃消息的部件。

说明书

用于投递时间敏感电子邮件的方法和系统
技术领域
本发明涉及数据处理,具体涉及用于时间敏感电子邮件的方法、系统和产品。
背景技术
电子邮件系统能够管理从一个发送者向许多收信人的电子邮件消息的发送。但是,现有技术的电子邮件系统通常提供了很少或不提供对于电子邮件消息的实际投递时间的控制。在这样的系统中,具有许多收信人的电子邮件消息可以在很宽范围的时间中到达收信人的邮箱,包括在一些情况下根本不到达。但是,存在这样的情况:如果具有发送电子邮件消息使得在大致相同的时间它被投递到收信人或使得收信人可以收到的方式则是有益的。大致同时的、时间敏感投递是有益的情况的示例包括全机构的公司策略声明、诸如采购之类的重要公司变化的全机构通报、一个季度的财务结果的全机构通报、在线拍卖公司的快速或定时促销、效益计划登记时期的快速或定时通报等等。为此,需要在电子邮件系统中的改进。
发明内容
用于投递时间敏感电子邮件的方法、系统和计算机程序产品被公开为一般通过下列方式来操作:建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息,给所述消息指定投递时间约束,以两个阶段向收信人的邮箱投递所述消息。在第一阶段中,所述消息被投递到具有收信人的邮箱的电子邮件服务器(“目的地服务器”)以暂时存储在邮箱之外。在第二阶段,所述消息被大致同时地从暂时存储器移动到邮箱内。每个目的地服务器可以服务一个或多个收信人的邮箱。
本发明的典型实施例向用户提供了在建立电子邮件消息的过程中指示当未满足时间约束时要采取的行动的能力。类似地,建立电子邮件消息经常包括:当存储了在邮箱外部的消息的一个或多个服务器未接收到将所述消息放入邮箱的指令时,指示要采取的行动。
电子邮件消息经常包括分层地址列表,其中包括别名,投递时间敏感电子邮件的方法包括将分层地址列表扩展为不包括别名的平展地址列表。可以通过扩展一个或多个别名来执行扩展分层地址列表,所述一个或多个别名被定义在一个或多个电子邮件主机上而不是建立电子邮件消息的电子邮件客户机上。用于投递时间敏感电子邮件的方法经常包括验证在收信人列表中的电子邮件地址。
典型实施例包括:确定是否可以按照时间约束投递时间一个时间敏感电子邮件消息。可以通过使用消息投递量度来执行确定是否可以按照时间约束投递。在许多实施例中,投递时间敏感电子邮件包括:提供描述电子邮件消息投递的消息投递信息来供用户观看。
按照本发明的实施例的用于投递时间敏感电子邮件的许多方法包括:在电子邮件服务器中接收用于时间敏感地投递到多个收信人的电子邮件消息,其中电子邮件服务器被布置在电子邮件消息的一个投递路经中,并且电子邮件消息具有一个发送者。这样的实施例也通常包括:向电子邮件消息的发送者发送承载消息投递信息的电子邮件协议消息,并且如果所述电子邮件服务器不是在所述投递路经中的最后一个电子邮件服务器,则将所述电子邮件消息中转到在所述投递路经上的下一个服务器。当接收一个电子邮件消息的电子邮件服务器是在所述投递路经上的最后一个服务器时,按照本发明的实施例投递时间敏感电子邮件的方法通常也包括:在收信人的邮箱外部暂时存储所述消息;从发送者接收将所述消息移动到收信人的邮箱的指令;响应于所述指令,将所述消息移动到收信人的邮箱。典型的实施例也支持:按照时间约束、用户偏好和取消指令来将一个消息移动到邮箱或丢弃它。
通过在下面更具体地说明在附图中图解的本发明的示范实施例,本发明的上述和其他目地、特点和优点将会变得更加清楚,其中,相同的附图标号一般表示本发明的示范实施例的相同部分。
附图说明
图1描述了可以实现本发明的各种实施例的电子邮件系统的结构。
图2给出了被用作按照本发明的实施例的电子邮件客户端或电子邮件服务器的示范计算机的方框图。
图3给出了在按照本发明改进的电子邮件客户端上的数据输入屏幕的线条画。
图4给出了用于投递时间敏感电子邮件的示范方法的流程图。
图5给出了描述用于投递时间敏感电子邮件的另一种示范方法的流程图,其中电子邮件消息包括分层收信人列表,其中包括别名。
图6给出了用于图解由在收信人列表中的别名形成的树结构的数据结构图。
图7给出了一种用于投递时间敏感电子邮件的方法的流程图,所述方法包括:在电子邮件服务器中接收用于时间敏感地投递到多个收信人的电子邮件消息。
图8给出了用于图解在超时时从暂时存储器移出消息的流程图。
图9给出了用于图解在接收到丢弃消息时从暂时存储器移出消息的流程图。
具体实施方式
介绍
在本说明书中很大程度上在用于时间敏感电子邮件的方法方面说明了本发明。但是,本领域内的技术人员将认识到,包括用于按照所公开的方法操作的适当编程装置的任何计算机系统也全部落入本发明的范围内。
适当的编程装置包括用于引导计算机系统执行本发明的方法的步骤的任何装置,其中包括例如由处理单元和算术及耦合到计算机存储器的逻辑运算电路组成的系统,所述系统能够在计算机存储器中存储用于由处理单元执行的本发明的方法的编程步骤,所述计算机存储器包括被配置来存储数据和程序指令的电子电路。本发明也可以被实现为计算机程序产品,诸如盘或其它记录介质,用于任何适当的数据处理系统。
可以通过使用任何用于机器可读信息的记录介质来实现计算机程序产品的实施例,所述记录介质包括磁媒体、光媒体或其它适当的媒体。本领域内的技术人员将能够立即认识到具有适当编程装置的任何计算机系统将能够执行在程序产品中实现的本发明的方法的步骤。本领域内的技术人员将立即认识到,虽然在本说明书中所述的多数示范实施例面向在计算机硬件上被安装和执行的软件,但是被实现为固件或硬件的替代实施例也完全在本发明的范围内。
时间敏感电子邮件
用于提供按照本发明的示范实施例的时间敏感电子邮件的方法、系统和计算机程序产品一般通过下列方式来操作:建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息,给所述消息指定投递时间约束,以两个阶段向收信人的邮箱投递所述消息。在第一阶段中,所述消息被投递到具有收信人的邮箱的电子邮件服务器(“目的地服务器”)以暂时存储在邮箱之外。在第二阶段,所述消息被大致同时地从暂时存储器移动到邮箱内。每个目的地服务器可以服务一个或多个收信人的邮箱。
在本说明书中的术语“服务器”指的是在用于管理资源和请求访问或控制这些资源的网络上的计算机或其它自动化计算机器,所述资源包括电子邮件消息。“电子邮件服务器”是与电子邮件客户端和其它电子邮件服务器通信以管理和通信电子邮件消息的服务器。类似地,“电子邮件服务器”是任何计算机,其中包括其应用软件,它从另一个计算机(即电子邮件服务器)请求电子邮件相关联的服务。任何给定的计算机或计算机硬件和计算机软件的组合可以在任何时间同时作为客户端和服务器。在本公开中的术语“客户端”和“服务器”的使用主要指的是由用于特定应用或数据通信连接的计算机扮演的角色,而不是一般的计算机或程序的能力。
按照本发明的实施例的时间敏感电子邮件消息是使用时间约束建立的。所述时间约束包括消息要被投递到所有收信人的所有目的服务器以暂时存储在邮箱外部的最早时间,并且可能有许多收信人和因此有许多目的服务器。描述第一时间约束的另一种方式是它指定了消息可以暂时存储在所有目的服务器并且可以基本上同时移动到收信人的邮箱的最早时间。
所述时间约束也包括所述消息从暂时存储器移动到收信人的邮箱的最晚时间,或者依赖于用户的偏好被丢弃。所述消息通常响应于用于指令目的服务器向邮箱移动消息的电子邮件协议消息而被从暂时存储器移动到邮箱。诸如在本公开中的电子邮件协议消息经常被称为“阶段2消息”,它指的是上述投递的第二阶段。在一些情况下,阶段2消息不可以在第二时间约束之前被接收,所述第二时间约束即消息被从暂时存储器移动到收信人的邮箱的最晚时间。如果阶段2消息未被接收到,则在由第二时间约束限定的时段超时或期满时,消息被丢弃或者在用户偏好允许的情况下被迅速地移动到邮箱。
阶段2消息本身通常很短,通常承载很少的或不承载消息体数据(message body data),并且承载小数量的、用于将其标识为用于特定的时间敏感电子邮件消息的阶段2消息的元数据(meta-data)。因为阶段2消息是小消息,因此它可以在短时间内可靠地被从发送者向所有相关的目的服务器发送,以便所有的目的服务器在短时间内将消息移动到所有收信人的邮箱,这是在本公开中“时间敏感投递”的含义。即,“时间敏感投递”是以较短的时间向多个收信人的邮箱投递,所述时间的实际长度依赖于计算机速度和电子通信速度的通常决定因素。
作为在本公开中使用的术语的“元数据”指的是描述时间敏感电子邮件消息的数据。元数据通常在时间敏感电子邮件消息本身中被给出。元数据包括消息类型代码,用于将消息标识为时间敏感电子邮件消息、时间约束、在超时前未接收到阶段2消息的情况下的动作控制指令、其它投递偏好等。电子邮件消息一般由“首标”和“主体”组成。所述首标包括各种字段,诸如发送者的电子邮件标识、收信人的电子邮件标识、路由跟踪数据等等。所述主体通常是包括消息内容的文本或其它数据。将元数据与主体和其它通常的首标字段区别是有益的。
一些电子邮件协议——包括例如简单邮件传送协议(“SMTP”)——支持选用的附加首标字段。在SMTP的示例中,在标准中定义所谓的“选用字段”,包括所需要的语法:字段名称(必须不重复标准的字段名称),后随冒号,再后随未组织的文本。
From:John Doe<jdoe@machine.example>
To:Mary Smith<mary@example.net>
Subject:Saying Hello
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<1234@local.machine.example>
Message-Type:Time Sensitive
Time-Constraint-Earliest:Sat,15 Dec 2003 08:00:00
Time-Constraint-Latest:Sat,15 Dec 2003 09:00:00
Mary,
This is a message just to say“hello”.I enjoyed meeting you at the conferencelast week.Let’s stay in touch.
Regards,
John
在这个示例中,前五个字段“From:”、“To:”、“Subject:”、“Date:”和“Message-ID”是标准的SMTP字段。最后三个字段Message-Type、Time-Constraint-Earliest、Time-Constraint-Latest是新的字段,即被实现来支持按照本发明的实施例的元数据。Message-Type字段将所述消息标识为时间敏感电子邮件消息。Time-Constraint-Eearliest字段标识第一时间约束,即在目的服务器上可获得消息的最早时间。字段Time-Constraint-Latest标识第二时间约束,即用于将消息移动到收信人的邮箱的最晚时间。
在时间敏感电子邮件消息中包括元数据的另一种方式是在消息主体本身中插入。SMTP例如使用这种方法来当通过客户电子邮件服务器中继消息时和当在目的服务器中接收到消息时在消息上插入时间标记。例如,在下面的电子邮件消息中:
From:John Doe<jdoe@machine.example>
To:Mary Smith<mary@example.net>
Subject:Saying Hello
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<1234@local.machine.example>
<Message-Type:Time Sensitive>
<Time-Constraint-Earliest:Sat,15 Dec 2003 08:00:00>
<Time-Constraint-Latest:Sat,15 Dec 2003 09:00:00>
Mary,
This is a message just to say“hello”.I enjoyed meeting you at the conferencelast week.Let’s stay in touch.
Regards,
John
用于将电子邮件消息标识为时间敏感的元数据元素和用于时间约束的元数据由角括号◇定界,并且在消息的主体的开始被插入。
许多电子邮件活系统支持以HTML格式化。在这个示例中:
<HTML>
    <HEAD>
         <META name=“Message Type”
               content=“Time Sensitive”>
         <META name=“Time-Constraint-Earliest”content=“Sat,15
               Dec 2003 08:00:00”>
         <META name=“Time-Constraint-Latest”content=“Sat,15
               Dec 2003 09:00:00”>
    </HEAD>
    <BODY>
    Mary,
    This is a message just to say“hello”.I enjoyed meeting you at the
    conference last week.Let's stay in touch.
    Regards,
    John
    </BODY>
</HTML>
在HTML<meta>标签中给出了用于将电子邮件消息标识为时间敏感的元数据元素和用于时间约束的元数据元素。除了选用的电子邮件协议首标字段、在电子邮件主体段中的插入、在HTML<meta>标签中插入之外,本领域内的技术人员还可以想到其它方法,包括在时间敏感电子邮件消息中插入相关的元数据,所有这样的方法都落入本发明的范围内。
读者将注意到未描述“阶段1”消息。在时间敏感电子邮件消息中的元数据将每个时间敏感电子邮件消息标识为时间敏感电子邮件消息。按照本发明的实施例的目的服务器被编程为检验输入的消息元数据以标识时间敏感电子邮件消息,并且将它们放在暂时存储器,直到接收到阶段2消息、超时或取消消息。因此,承载用于将其标识为时间敏感电子邮件消息的元数据的时间敏感电子邮件消息本身触发投递的第一阶段,其本身有效地作为相位1消息。因此通常不需要这样的独立的阶段1消息。
将进一步参照附图来说明用于时间敏感电子邮件的示范方法、系统和产品,从图1开始。图1描述了其中可以实现本发明的各种实施例的电子邮件系统的结构。图1的系统包括多个计算机和在网络中连接来用于数据通信的其它自动化的计算机器。所描述的所述计算机和自动化计算机器都能够作为按照本发明的电子邮件主机、即电子邮件客户端和服务器。术语“自动化计算机器”通常指的是诸如电话和个人数字助理(PDA)之类的器件,它们由按照本发明的实施例的电子邮件客户端或电子邮件服务器软件来自动化,但是它们可能不是通常称为“计算机”的器件种类。在本说明书中使用的术语“计算机”包括所有种类的计算机机器。
图1的系统包括网络102、103和104。在这样的系统中的网络可以包括LAN、WAN、内联网、互联网、因特网、web和万维网本身。这样的网络包括可以用于提供用于在诸如图1所示的电子邮件系统之类的分布式数据处理系统内连接在一起的、各种计算机和其它自动化计算机器之间的数据通信的连接的媒体。这样的网络可以包括诸如有线或光缆之类的永久连接、通过有线电话或无线通信建立的暂时连接。
在图1的示例中,PDA 106、计算机工作站108、移动电话110、计算机工作站112和便携式计算机126全部是电子邮件客户端的示例,即包括下列的自动化器件:能够发送按照本发明的实施例的时间敏感电子邮件的电子邮件客户端软件应用。在这个示例中,PDA 106、工作站108和移动电话110连接到网络102。工作站108通过有线连接122连接到网络102。网络启动的移动电话110通过无线链路116连接到网络102,PDA 106通过无线链路114连接到网络102。工作站112通过有线连接124连接到网络104,便携式计算机126通过无线链路118连接到网络104。
服务器104、128和129是电子邮件服务器,即包括能够进行下列的电子邮件服务器软件应用:接收时间敏感电子邮件消息,中继它们,暂时存储它们和将它们移动到邮箱,这全部是按照本发明的实施例的。在图1的示例中,电子邮件服务器104连接到网络102。电子邮件服务器128连接到网络102和103,电子邮件服务器128连接到网络102、103和104。
在图1的示例中,存储单元132通过服务器104连接到网络102。存储单元132被实现为任何种类的计算机存储器——本领域技术人员可以想到的硬盘驱动器、光驱动器、随机存取存储器等等。存储单元132表示用于电子邮件消息的134的暂时存储空间以及用于邮箱418的存储空间。
为了进一步的说明,考虑对于图1的电子邮件系统的转发记数(hopcounting)的示例。具体地说,这个示例解释了仅仅在电子邮件服务器之间而不是在电子邮件服务器和电子邮件客户端之间计数转发。在这个示例中,电子邮件服务器129具有用于在工作站112上的电子邮件客户端的邮箱,用户从工作站112上的电子邮件客户端始发电子邮件到收信人,即在电子邮件服务器104上具有邮箱的工作站108上的电子邮件客户端。当用户完成撰写消息和指令在工作站112上的电子邮件客户端发送所述消息时,在工作站112上的电子邮件客户端向在电子邮件服务器129上的其邮箱发送在电子邮件协议消息中封装的所述电子邮件消息。所述电子邮件协议可以是例如简单邮件传送协议(“SMTP”)或邮局协议(“POP”)。从工作站112向电子邮件服务器129的电子邮件消息的发送不作为转发计数。
然后电子邮件服务器129通过至少两个示范路由之一将电子邮件消息从电子邮件服务器129路由到电子邮件服务器104。电子邮件服务器129可以直接向电子邮件服务器104发送电子邮件消息,转发计数为“1”。或者,电子邮件服务器129可以将消息中继给电子邮件服务器128,电子邮件服务器128继而将消息中转到电子邮件服务器104,转发计数为“2”。这个示例示出了具有1个转发和2个转发的投递路经,但是在按照本发明的实际实施例中,对转发的数量没有限制。可以使用任何数量的转发来实现投递路经,虽然用于一个路由的转发计数可以方便地作为消息投递的质量指示。最后,工作站108的用户将登录到在工作站108上的电子邮件客户端,并且从在电子邮件服务器104上的邮箱下载电子邮件消息。从电子邮件服务器104向在工作站108上的电子邮件客户端的电子邮件消息下载不作为转发计数。
图1所示的电子邮件服务器和电子邮件客户端的示例用于说明,不用于限定。电子邮件系统可以包括附加服务器、客户端、路由器和本领域内技术人员可以想到的图1所示的其它器件。在这样的电子邮件系统中的网络可以支持许多数据通信协议SMTP、POP、超文本传送协议(“HTTP”)、无线访问协议(“WAP”)、手持器件传送协议(“HDTP”)、“传送控制协议/网际协议”(“TCP/IP”)和本领域内的技术人员可以想到的其它协议。图1被提供作为可以实现本发明的各种实施例的异类电子邮件环境的一个示例,而不是作为本发明的结构限定。
图2给出了包括计算机106——诸如按照本发明的实施例的用于电子邮件系统的电子邮件客户端或电子邮件服务器——的自动化计算机器的方框图。图2的计算机106包括至少一个计算机处理器156或“CPU”以及随机存取存储器168(“RAM”)。存储在RAM 168中的是应用程序152。当类似计算机106的计算机被实现为电子邮件客户端时,应用152包括电子邮件客户端应用软件。当类似计算机106的计算机被实现为电子邮件服务器时,应用152包括电子邮件服务器应用软件。现有技术的电子邮件应用软件的示例包括例如微软的OutlookTM,Qualcomm的EudoraTM或Lotus NotesTM。这样的现有技术电子邮件应用软件可以通过按照本发明的实施例使用插件或在源代码级上修改来改进,或者,可以从零开始开发全新的电子邮件应用以实现本发明的实施例。
也存储在RAM 168中的是操作系统154。在按照本发明的实施例的电子邮件计算机或“电子邮件主机”中使用的操作系统包括Unix、Linux、MicrosoftNTTM和本领域内技术人员可以想到的其它操作系统。
图2的示例计算机106包括通过系统总线160连接到处理器156和计算机的其它部件的计算机存储器166。计算机存储器166可以被实现为硬盘驱动器170、光盘驱动器172、电可擦除可编程只读存储器空间(所谓的“EEPROM”或“快闪”存储器)174、RAM驱动器(未示出)或本领域内技术人员可以想到的其它任何种类的计算机存储器。
图2的示例计算机106包括通信适配器167,它实现了到其它计算机182、电子邮件服务器和电子邮件客户端的用于数据通信的连接。通信适配器实现数据通信连接的硬件级,通过所述连接,客户端计算机和服务器彼此直接和通过网络发送数据通信。通信适配器的示例包括用于有线拨号连接的调制解调器,用于有线LAN连接的以太网(IEEE 802.3)适配器和用于无线LAN连接的802.11b适配器。
图2的示例计算机包括一个或多个输入/输出接口适配器178。在计算机中的输入/输出适配器通过例如软件驱动器和计算机硬件实现了面向用户的输入/输出,所述软件驱动器和计算机硬件用于控制到诸如计算机显示屏幕之类的显示器180的输出以及来自诸如键盘和鼠标之类的用户输入器件181的用户输入。
参照图3进一步说明本发明示范实施例。图3给出了在按照本发明的实施例改进的电子邮件客户端上的数据输入屏幕的线划图。图3的数据输入屏幕包括标题行302和电子邮件客户端的名称(“客户端名称”),所述标题行302用于显示正在编辑的文件是时间敏感电子邮件文件。在实际的实施例中,“客户端名称”通常是诸如Lotus NotesTM、微软的OutlookTM或Qualcomm的EudoraTM
图3的数据输入屏幕包括水平菜单304,其中包括常用菜单项,诸如“文件”、“编辑”、“查看”等等。除了用于这样的电子邮件屏幕的常用种类的菜单项之外,水平菜单304包括被标为“TSE选择”的新项目,用于指示时间敏感电子邮件选项。调用TSE选项菜单项显示下拉菜单312,它使得可以获得支持按照本发明的实施例的时间敏感电子邮件的几个功能。
图4给出了一个流程图,用于描述投递时间敏感电子邮件的示范方法,所述方法包括建立402电子邮件消息410,用于向在电子邮件服务器上的多个收信人邮箱进行时间敏感投递。在图4的方法中,建立电子邮件消息包括在电子邮件消息中插入将消息标识为用于时间敏感投递的消息的数据元素412。即,数据元素412被实现为用于将电子邮件消息410标识为如上所述的时间敏感电子邮件消息的元数据的字段。数据元素412可以通过调用在图3上的下拉菜单项316被插入“指定TSE消息”,响应于此,电子邮件客户端被编程来在所述消息中的元数据中插入一个字段,用于将所述电子邮件消息指定为时间敏感电子邮件消息。这个功能代表将功能指定协议信息封装在消息首标或消息元数据中的能力。
图4的方法包括向所述消息分配404投递时间约束414。通过在按照本发明的实施例改进的电子邮件客户端中的数据输入来执行分配投递时间约束。图3中图解的电子邮件客户端例如被编程为响应于调用下拉菜单项318和320而起作用以提示用户通过数据输入表格来输入投递时间约束,包括:最早时间,用于在目的服务器上的暂时存储消息的阶段1级;最晚时间,用于将消息移动到收信人的邮箱。
图4的方法包括按照时间约束向具有收信人的邮箱的电子邮件服务器投递406消息410,以适于在邮箱外部暂时存储。具有收信人的邮箱的电子邮件服务器是目的服务器,即在消息的投递路经中的最后服务器。按照本发明的实施例的目的服务器被编程使得,当承载用于将其标识为用于时间敏感投递的时间敏感的消息的元数据字段的一个消息到达时,服务器不是将这样的消息立即放在收信人的邮箱内,而是将所述消息放在邮箱外部暂时存储。
图4的方法包括:指令410服务器将消息410几乎同时布置在所有收信人的邮箱418中。通过如上所述向目的服务器发送阶段2消息来指令服务器将消息放在收信人的邮箱中。这里是阶段2消息的示例:
From:John Doe《jdoe@machine.example>
To:Mary Smith<mary@example.net>
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<5618@local.machine.example>
Time-Sensitive-Message-ID:<1234@local.machine.example>
Message-Type:Phase-2
这是很短的阶段2消息的示例,其中不包括消息主体,而仅仅包括首标数据。前四个字段From、To、Date和Message-ID是标准的电子邮件协议字段,在这个特定的实例中是来自SMTP的。后两个字段是按照本发明的新的字段。Message-Type字段将消息标识为阶段2消息,即按照本发明的实施例的对于电子邮件服务器的一个指令,用于将时间敏感电子邮件消息从暂时存储器移动到收信人的邮箱。Time-Sensitive-Message-ID字段标识时间敏感电子邮件(已经驻留在目的服务器上的暂时存储器中),对于它,阶段2消息表示向邮箱移动的指令。区别Message-ID字段和Time-Sensitive-Message-ID字段是有益的。Message-ID字段标识阶段2消息本身,这是对基础电子邮件协议的正常使用。Time-Sensitive-Message-ID标识相关的时间敏感电子邮件消息,以供被改进以支持按照本发明的实施例的电子邮件服务器使用。Time-Sensitive-Message-ID对于任何基础的标准电子邮件协议是透明的。
在图4的示范方法中,建立402一个电子邮件消息也可以包括当不满足时间约束时指示要采取的行动。可以通过响应于下拉菜单项的调用而进行数据输入提示来执行当不满足时间约束时指示要采取的行动,所述下拉菜单项诸如在图3上在附图标号322被标为“Constraint Action(约束行为)”的那个。被编程来提示当不满足时间约束时要采取的行动的电子邮件客户端也被编程来在时间敏感电子邮件消息中的元数据中编码当不满足时间约束时要采取的行动。这样的编码可以例如进行如下:
From:John Doe<jdoe@machine.example>
To:Mary Smith<mary@example.net>
Subject:Saying Hello
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<1234@local.machine.example>
Message-Type:Time Sensitive
Time-Constraint-Earliest:Sat,15 Dec 2003 08:00:00
Time-Constraint-Latest:Sat,15 Dec 2003 09:00:00
Constraint-Action:All-or-Nothing
在这个实例中,名称为“Constraint-Action(约束行为)”的字段记录当不满足时间约束时要采取的行动。在这个示例中,Constraint-Action字段的值被设置为“All-or-Nothing(全部或无)”,用于表示如果不能满足时间约束则不发送消息的指令。电子邮件客户端响应于这个编码而测试是否可以满足时间约束,具体测试是否可以在阶段1在不晚于被投递为“Time-Constraint-Earliest(最早的时间约束)”的约束时,成功地向所有的目地服务器投递电子邮件消息。如果不能满足这样的时间约束,则作为在不能满足时间约束时要采取的行动的“All-or-Nothing”的电子邮件客户端响应通知建立所述消息的用户:因为不能满足时间约束而不发送消息。
按照本发明的实施例的电子邮件客户端也经常支持如果不满足时间约束则要采取的另一种行动,即在时间约束内的部分投递。这样的行为的一种表示可以被编码为例如“Partial-Delivery-Acceptable(可接受部分投递)”。当在测试是否可以按照其时间约束投递消息的过程中、电子邮件客户端确定一些消息可能在消息的“Time-Constraint-Earliest”约束前不可到达目的服务器时,这样的电子邮件客户端响应于“Partial-Delivery-Acceptable”的Constraint-Action值而以任何方式来发送消息。
在图4的示范方法中,建立402电子邮件消息也可以包括当已经在邮箱外部暂时存储消息的一个或多个服务器未能接收到将消息放在邮箱内的指令时要采取的行动。即,在建立消息时,用户也可以输入关于如果阶段2消息未到达则目的服务器要做什么的偏好。或者建立402电子邮件消息也可以包括:在超时时丢弃消息或将其放在邮箱内,而不论是否接收到阶段2消息。可以通过响应于下拉菜单项的调用而进行数据输入提示来执行当服务器未能接收到将消息放在邮箱内的指令时指示要采取的行为,所述下拉菜单项诸如为在图3的在附图标号324处被标为“Delivery Preference(投递偏好)”的那个。被编程来提示当服务器未能接收到将消息放在邮箱内的指令时要采取的行动的电子邮件客户端也被编程来在时间敏感电子邮件消息中的元数据中编码当服务器未能接收到将消息放在邮箱内的指令时要采取的行动。这样的编码可以例如进行如下:
From:John Doe<jdoe@machine.example>
To:Mary Smith<mary@example.net>
Subject:Saying Hello
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<1234@local.machine.example>
Message-Type:Time Sensitive
Time-Constraint-Earliest:Sat,15 Dec 2003 08:00:00
Time-Constraint-Latest:Sat,15 Dec 2003 09:00:00
Delivery-Preference:Discard
在这个实例中,名称为“Delivery-Preference(投递偏好)”的字段记录当服务器未能接收到将消息放在邮箱内的指令时要采取的行动。在这个示例中,Delivery-Preference字段的值被设置为“Discard(丢弃)”,用于表示如果在被记录为“Time-Constraint-Latest”的时间之前服务器未能接收到将消息放在邮箱内的指令则丢弃消息的指令。在被记录为“Time-Constraint-Latest”的时间之前未能接收到将消息放在邮箱内的指令被称为“超时”。支持这样的偏好的、按照实施例的服务器被编程为在超时时丢弃承载投递偏好的时间敏感电子邮件消息,其中所述投递偏好指示在没有阶段2消息时要丢弃消息。
按照本发明的实施例的电子邮件客户端也经常支持当服务器未能接收到将消息放在邮箱内的指令时要采取的另一种行动,即在超时时投递消息,而不论是否已经接收到将消息放在邮箱中的指令(“阶段2消息”)。这样的行为的一种表示可以被编码为例如“Delivery-Anyway(以任何方式投递)”。支持这样的偏好的、按照实施例的服务器被编程为在超时时将承载投递偏好“Delivery-Anyway”的消息放在这样的服务器上的所有地址的邮箱内,而不论还未接收到阶段2消息。
图5给出了描述用于投递时间敏感电子邮件的另一种示范方法的流程图,其中电子邮件消息410包括包含别名的分层地址列表422。别名是被电子邮件客户端允许插入地址列表中的数据元素,用于表示收信人的电子邮件地址的子列表。例如,在图3的电子邮件数据输入屏幕上用户可以在To:字段310中输入收信人的电子邮件地址和一个或多个电子邮件别名。对于按照本发明的实施例的电子邮件客户端、即可以例如验证电子邮件地址和使用电子邮件地址来分析是否能够满足投递时间约束的客户端,有益的是这样使用电子邮件地址而不是仅仅使用它们的别名。图5的方法包括将分层地址列表扩展420为不包括别名的平展收信人列表(flat addressee list)424。
可以在建立时间敏感电子邮件消息的电子邮件客户端上获得别名的限定即它表示的地址的列表,或者可以在电子邮件系统中的一些其他主机上限定别名。因此在图5的方法中,扩展分层收信人列表420可以包括:扩展在一个或多个电子邮件主机而不是建立电子邮件消息的电子邮件客户端上限定的一个或多个别名。在建立时间敏感电子邮件的电子邮件客户端上限定的别名仅仅被本地扩展。对于在电子邮件系统中的其他主机上限定的别名,电子邮件协议通常支持用于扩展这样的别名的协议消息类型。在例如SMTP中,“EXPN”命令将用于标识电子邮件地址的子列表的别名作为串参数,并且返回在所述子列表中的电子邮件地址。
为了进一步解释,考虑图6所示的数据关系。图6给出了用于图解在收信人列表中由别名形成的树结构的数据结构图。在图6的示例中,示例收信人列表422包括三个地址元素,即两个电子邮件地址和一个别名606。别名606在子列表602中被定义为包括三个地址元素,即两个电子邮件地址和另一个别名608。在子列表602中的电子邮件地址可以被考虑为叶节点,别名608作为进一步的分支节点。别名608继而被定义为子列表604,在其中所有的地址元素电子邮件地址。在子列表604中的电子邮件地址可以被考虑为叶节点,并且没有进一步的分支。在这个示例中,通过将电子邮件地址从子列表608移动610到地址列表422并且从地址列表422中删除别名606,别名606被扩展到地址列表422中。通过将电子邮件地址从子列表604移动到地址列表422来扩展别名608。这个示范程序将分层的地址列表转换为平展地址列表,即仅仅承载叶节点而没有分支的列表。
图5的方法也包括验证426在收信人列表中的所有电子邮件地址。验证电子邮件地址是这样的处理:确定是否一个时间敏感电子邮件消息的收信人的电子邮件地址实际存在作为建立所述时间敏感电子邮件的电子邮件客户端——即时间敏感电子邮件消息的“发送者”——可以获得的、在电子邮件系统中某处的有效的电子邮件地址。电子邮件协议通常支持用于验证电子邮件地址的协议消息类型。例如在SMTP中,“VRFY”命令将一个电子邮件地址作为串参数,并且返回电子邮件地址是否有效的指示。或者,按照本发明的实施例的电子邮件客户端可以被编程来向在时间敏感电子邮件的收信人列表上的每个电子邮件地址发送短测试消息,以便验证时间敏感电子邮件消息的收信人的电子邮件地址的存在性和有用性。
图5的方法通常也包括确定504是否可以按照时间约束414来投递时间敏感电子邮件消息410。图5的方法包括确定504是否可以满足时间约束。如果不能满足时间约束514,则图5的方法包括通知506建立电子邮件消息的用户不能按照时间约束来投递消息。图5的示范方法包括通过计算机显示器502来通知用户,然后停止对于时间敏感电子邮件的操作。这是按照本发明的实施例的电子邮件客户端的操作示例,它或者当不满足投递约束时不支持“Partial-Delivery-Acceptable”,或者对于它,用户已经选择了“All or Nothing”来作为当投递约束不能被满足时的行为。在图5的方法中,如果可以满足516时间约束,则处理如上所述那样继续,并且阶段1投递406用于在邮箱外部的暂时存储,阶段2消息指令408目的服务器将消息放在收信人的邮箱中。
时间约束通常是:首先,消息可以在第一时限内在所有的目的服务器上在暂时存储时分级,所述第一时限在本公开中被考虑为“阶段1”时限或“最早时间约束(Time-Constraint-Earliest)”时限。另外,所述约束通常也包括第二时限,即用于投递“阶段2”消息以通知目的服务器将时间敏感的消息放在其收信人的邮箱内的超时时限。按照本发明的实施例的电子邮件客户端因此经常被编程来确定是否可以在阶段1时限内向目的服务器投递消息和是否可以在阶段1时限和阶段2时限之间的时段向目的服务器投递阶段2消息。具有大附件的时间敏感电子邮件消息可能花费许多分钟来投递到所有的目的服务器,而短的阶段2消息可能花费少于1秒钟来投递到所有目的服务器。
有益的是,按照本发明的实施例的电子邮件客户端具有消息投递定时的可用量度,以用于使用消息投递量度来确定504是否可以按照时间约束414投递时间敏感电子邮件410。图5的方法因此也包括提供508消息投递量度512来用于确定是否可以满足时间约束。在图5的方法中,确定504是否可以按照时间约束414投递时间敏感电子邮件410包括根据消息投递量度512来确定是否可以按照时间约束414来投递消息410。
消息投递量度可以包括例如转发计数和对于包括其附件的消息大小的投递时间的计算。可以使用测试消息来标识转发计数。例如使用测试消息或使用基于发送速度和消息及其附件的大小的传输时间计算来标识大致的发送时间。量度可以包括对于最远的电子邮件服务器的转发计数,这是被用作时间约束的外边界的指示的量度。
测试消息可以被实现为时间敏感电子邮件消息。按照本发明的实施例的服务器被编程以便在接收到任何时间敏感电子邮件消息(服务器不必知道它是测试消息)时,不论服务器是中继服务器还是目的服务器,向发送者返回包括转发计数或从其可以推断转发计数的数据的电子邮件协议消息。测试消息可以被实现为时间敏感电子邮件消息,它具有空主体,并且其投递偏好被设置为“丢弃”,以便当发送者从不发送用于其的阶段2消息时,在超时时丢弃测试消息。这样的转发计数可以在时间敏感电子邮件(测试)消息中的元数据中被编码为例如<hop count N>,其中N是一个整数,它当每次沿着投递路经的任何服务器接收到时间敏感电子邮件时递增。从其可以推断转发计数的数据例如是一个时间标记,用于标识当在投递路经上的每个服务器接收到时间敏感电子邮件消息时的时间。推断转发计数因此将是对于在返回消息中的这样的时间标记的数量计数处理。通过使用独立的消息类型或通过直接向发送者返回承载转发计数或时间标记的、时间敏感电子邮件消息本身的拷贝,并且每个拷贝来自用于时间敏感电子邮件(测试)消息的投递路经上的每个服务器,则可以执行向发送者返回包括转发计数或从其可以推断转发计数的数据。
图5的方法也包括:提供510描述消息的投递的消息投递信息来供用户查看。消息投递信息通常包括消息投递统计和消息投递路经相关信息。
在用户建立时间敏感电子邮件消息之后,发送者可以指令电子邮件客户端通过例如调用诸如图3上的附图标号330图示的那个的“发送”菜单项来“发送”消息。响应于这样的“发送”指令,电子邮件客户端通常按照本发明的实施例被编程以扩展在收信人列表中的别名、验证在收信人列表中的电子邮件地址、确定是否可以满足时间约束、向目的服务器发送时间敏感电子邮件消息来用于阶段1分级、发送阶段2消息以便它可以在超时之前到达目的服务器等等。依赖于在当调用“发送”时的时间和时间约束之间的关系,可以在电子邮件消息针对阶段1进行发送之前,经过了几分钟、几小时、甚至几日,通常在发送阶段2消息之前经过了更多的时间。
在发送时间敏感电子邮件消息以用于在目的服务器上的阶段1分级后和在发送阶段2消息之前的时段特别有益。考虑承载对于世界范围内成百上千的收信人的重要公司通告的时间敏感电子邮件消息的示例。这样的消息将沿着许多路径行进,具有许多转发计数、许多投递次数,通过许多目的服务器和许多邮箱。按照本发明的实施例的电子邮件客户端因此经常有益地聚集,并且提供用于描述消息当被投递到许多目的服务器时的进程的消息投递统计来供用户查看。
提供消息投递信息通常包括从沿着用于电子邮件消息的投递路经布置的电子邮件服务器接收在电子邮件协议消息中的这种信息。如上所述,按照本发明的实施例的服务器被编程使得在接收到任何时间敏感电子邮件消息时,不论服务器是中继服务器或目的服务器,向发送者返回一个电子邮件协议消息,其中包括转发计数或从其可以推断转发计数的时间标记。按照本发明的实施例的管理时间敏感电子邮件消息的电子邮件客户端(“发送者”)被编程来从在这样的返回电子邮件协议消息中的数据计算消息投递统计,诸如投递次数和转发计数。这样的消息投递信息可以以详细的表格提供给用户,例如:

消息投递细节收信人接收时间转发计数过去的时间阶段1分级------------------------------------------------------------------------------------------------------------------------

消息投递信息的详细表格的这个示例包括被标为“收信人”、“接收时间”、“转发计数”、“过去的时间”和“阶段1分级”。“收信人”从时间敏感电子邮件标识的收信人列表标识收信人。“接收时间”标识电子邮件消息在到具有收信人的邮箱的目的服务器的投递路经上的任何服务器中被接收的最后时间。“转发计数”给出了在消息的投递路经上的任何位置的、接收到消息的最后服务器的当前转发计数。“过去的时间”给出了从时间敏感电子邮件消息首先从其发送者电子邮件客户端发送的时间直到电子邮件消息在到具有收信人的邮箱的目的服务器的投递路经上的任何服务器中被接收的最后时间的总时间。“阶段1分级”是布尔指示,用于指示是否电子邮件消息已经被接收和布置在用于在显示器的最左列中标识的“收信人”的目的服务器的暂时存储器中。如果“阶段1分级”被设置为假或否,则用于被发送到那个“收信人”的消息的“接收时间”、“转发计数”、“过去的时间”显示来自在投递路经上的中间或中继服务器的信息。如果“阶段1分级”被设置为真或是,则用于被发送到那个“收信人”的消息的“接收时间”、“转发计数”、“过去的时间”显示从来自用于在最左列中标识的“收信人”的目的服务器的返回消息得到的最后数据。如果“阶段1分级”被设置为真或是,则被显示的消息投递信息也可以从也来自中继服务器的一个或多个中间返回消息得到,但是不论中继服务器是否在投递路经中,消息投递信息现在反映在具有用于在最左列中标识的收信人的邮箱的目的服务器中接收到消息后的最后数据。
可以响应于从用于特定的电子邮件协议消息的投递路经上的服务器接收到返回消息来计算消息投递信息的细节的这种表格。这个示例未给出消息标识,虽然它能够给出。但是,在这种情况下,用户从用于所讨论的特定时间敏感电子邮件消息的编辑屏幕——诸如图3所示的那个——内调用消息投递信息的显示,因此知道哪个时间敏感电子邮件消息被描述。用户可以通过选择下拉菜单项——诸如在图3上的附图标号328被标为“投递细节”的那个——来调用这样的显示。另外,响应于对于下拉菜单项——诸如在图3上的附图标号326被标为“投递总结”的那个——的选择,电子邮件客户端可以被编程来显示消息投递信息的总结,例如:消息投递总结    消息在用于50个收信人中的45个的目的服务器上被阶段1分级。    用于任何投递的最大转发计数:5    用于任何投递的最大经过时间:23秒

这个示例的消息投递信息的总结表格包括一个比例进程报告:在自电子邮件消息被首先从发送者电子邮件客户端发送的时间起的时间中,它已经被接收以适于在其50个收信人中的45个的目的服务器的邮箱外部暂时存储。可以通过例如计数在上述的种类的详细消息投递信息中的“阶段1分级”列中的“真”指示来得到这样的总结统计。类似地,可以通过比较从详细的消息投递信息——诸如对于标为“转发计数”和“经过时间”的列在以上描述的——得到用于总结显示的最大转发计数和最大经过时间。
图7给出了一个流程图,它图解了一种投递时间敏感电子邮件的方法,包括在电子邮件服务器中接收702一个电子邮件消息410,以便时间敏感地投递到多个收信人。在图7的方法中,电子邮件服务器被布置在所述电子邮件消息的投递路经中,并且所述电子邮件消息具有一个发送者,即其中建立所述电子邮件消息和从其原始发送所述电子邮件消息的电子邮件客户端。
图7的方法也包括向所述电子邮件消息的发送者发送704承载消息投递信息的电子邮件协议消息。这个电子邮件协议消息是在本公开中经常被称为“返回”消息的那种。消息投递信息也可以包括转发计数或从其可以推断转发计数的信息,诸如用于标识当在服务器中接收到消息的日期和时间的时间标记。
图7的方法包括:确定所述服务器是否是在投递路经706上的最后服务器,并且如果所述电子邮件服务器不是在投递路经716上的最后电子邮件服务器,则将所述电子邮件消息中继708到在投递路经上的下一个服务器。发送返回消息的电子邮件服务器可以是用于所述消息的目的服务器,即在投递路经中的最后电子邮件服务器,也就是承载收信人的邮箱的服务器;所述服务器可以是在投递路经上的中间服务器,它将沿着投递路经转发消息;或所述服务器可以同时是用于一些收信人的中间服务器和用于其他收信人的目的服务器。即,任何接收电子邮件消息的服务器可以通过查看消息地址列表和将其与在服务器上的邮箱的服务器的内部列表相比较来确定它是否是所述消息的目的服务器。在消息的地址是在服务器上具有邮箱的收信人的情况下,服务器是消息的目的服务器。在消息的地址是在服务器上没有邮箱的收信人的情况下,服务器是消息的“中间”服务器或“中继”服务器。
如果电子邮件服务器包括在投递路经718上的最后服务器,也就是说电子邮件服务器还包括至少一个收信人的邮箱418,则图7的方法包括在收信人的邮箱的外部暂时416存储710消息。这是在下列意义上的暂时存储:一些附加行为最终发生,导致服务器将消息从暂时存储器移出。这样的附加行为可以是接收阶段2消息、超时或接收取消或丢弃消息的指令。
图7的方法例如包括从发送者接收712将消息移动到收信人的邮箱的指令。即,这个示例包括接收阶段2消息,并且响应于所述指令即阶段2消息,将时间敏感电子邮件消息移动714到至少一个收信人的邮箱。
图8给出了一个流程图,用于图解一个示例,其中另一个行为发生以触发从暂时存储器移出消息,在这个示例中,所述另一个行为是超时。在图8的方法中,电子邮件服务器包括在投递路经上的最后服务器,这意味着电子邮件服务器还包括收信人的邮箱418。在这个示例中,消息410包括至少一个定时约束414和至少一个关于投递的用户偏好802。图8的方法因此包括:在收信人的邮箱外部暂时416存储710消息,并且根据时间约束414和用户偏好802来将所述消息移动804到收信人的邮箱。
考虑一个示例,其中定时约束是用于接收阶段2消息的时限,并且在所述时限期满——“超时”的一个示例——之前未接收到任何阶段2消息。这样的消息具有像下面这样的首标数据:
From:John Doe<jdoe@machine.example>
To:Mary Smith<mary@example.net>
Subject:Important Corporate Announcement
Date:Fri,21 Nov 2003 09:55:06
Message-ID:<1234@local.machine.example>
Message-Type:Time Sensitive
Time-Constraint-Earliest:Sat,15 Dec 2003 08:00:00
Time-Constraint-Latest:Sat,15 Dec 2003 09:00:00
Delivery-Preference:Discard
在这个示例中,在暂时存储器中具有这个消息的服务器注意一个超时,即在服务器上的当前时钟时间晚于Sat,15 Dec 2003 09:00:00(2003年12月15日09:00:00)。服务器查看“Delivery-Preference(投递偏好)”字段,并且注意它被设置为“Discard(丢弃)”。在这个示例中,根据定时约束414和用户偏好802将消息移动到804收信人的邮箱意味着不移动消息,相反将其丢弃。如果投递偏好被设置为“Deliver-Anyway(以任何方式投递)”,则根据定时约束414和用户偏好802将消息移动到804收信人的邮箱意味着在超时时将消息移动到收信人的邮箱。
图9给出了一个流程图,用于图解一个示例,其中另一个行为发生以触发从暂时存储器移出消息,在这个示例中,所述另一个行为是丢弃消息。在图9的方法中,电子邮件服务器再次是在时间敏感电子邮件消息的投递路经上的最后服务器,所述方法包括在收信人的邮箱外部暂时416存储710消息。图9的方法也包括从发送者接收902丢弃消息的指令,并且响应于所述指令而丢弃消息904。来自发送者的丢弃时间敏感电子邮件消息的指令可以被实现为由始发电子邮件消息的电子邮件客户端产生的电子邮件协议消息,响应于用户调用下拉菜单项(诸如在图3上的附图标号332处标为“取消”的那个)而产生的。
用户可以因为许多原因而确定取消或丢弃这样的时间敏感电子邮件消息,并且因为在用户调用“发送”后和在电子邮件客户端发送阶段2消息前经过了一些时间,因此用户可以具有足够的时间来改变计划和命令取消电子邮件消息。另外,用户可以观察总结消息投递信息或详细的消息投递信息,如上所述,并且在从所显示的消息投递信息观察到事实上未以期望的服务质量来投递消息时确定取消电子邮件消息。
可以从上述的说明明白,可以在不脱离其真实精神的情况下在本发明的各种实施例中进行修改和改变。在这个说明书中的描述仅仅用于说明,而不要在限定的意义上来理解。本发明的范围仅仅被所附的权利要求的语言所限定。

用于投递时间敏感电子邮件的方法和系统.pdf_第1页
第1页 / 共39页
用于投递时间敏感电子邮件的方法和系统.pdf_第2页
第2页 / 共39页
用于投递时间敏感电子邮件的方法和系统.pdf_第3页
第3页 / 共39页
点击查看更多>>
资源描述

《用于投递时间敏感电子邮件的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于投递时间敏感电子邮件的方法和系统.pdf(39页珍藏版)》请在专利查询网上搜索。

投递时间敏感电子邮件包括:建立适于向在电子邮件服务器上的多个收信人的邮箱进行时间敏感投递的电子邮件消息,包括在所述电子邮件消息中插入将所述消息标识为适于时间敏感投递的消息的数据元素;给所述消息指定投递时间约束;按照时间约束和适于暂时存储在邮箱外部,向具有收信人的邮箱的各电子邮件服务器投递消息;以及指令各服务器在大致相同的时间将所述消息放在所有收信人的邮箱中。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1