CN1829203B - 用于调节可扩展性点对消息的访问的系统和方法 - Google Patents

用于调节可扩展性点对消息的访问的系统和方法 Download PDF

Info

Publication number
CN1829203B
CN1829203B CN2006100046246A CN200610004624A CN1829203B CN 1829203 B CN1829203 B CN 1829203B CN 2006100046246 A CN2006100046246 A CN 2006100046246A CN 200610004624 A CN200610004624 A CN 200610004624A CN 1829203 B CN1829203 B CN 1829203B
Authority
CN
China
Prior art keywords
message
extensibility point
package object
extensibility
point
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.)
Active
Application number
CN2006100046246A
Other languages
English (en)
Other versions
CN1829203A (zh
Inventor
M·E·皮尔森
S·D·怀特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN1829203A publication Critical patent/CN1829203A/zh
Application granted granted Critical
Publication of CN1829203B publication Critical patent/CN1829203B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • G06Q50/40
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

在将消息发送给可扩展性点以前,该消息被用与该可扩展性点相关联的包装对象包装。包装对象可在可扩展性点准备好开始对该消息的操作时由该可扩展性点生效。包装对象的生效使可扩展性点能够访问该消息。包装对象稍后在可扩展性点完成其对消息的操作时可由该可扩展性点无效。包装对象的无效拒绝可扩展性点对该消息的访问。

Description

用于调节可扩展性点对消息的访问的系统和方法
技术领域
本发明涉及电子邮件传送和投递的领域,更具体地,涉及在传送和投递过程期间调节可扩展性点对电子邮件消息的访问。
背景技术
消息传送代理(MTA)是负责接收传入的电子邮件,并将电子邮件消息投递给个体用户的程序。一般而言,MTA是从外部源接收消息、将该消息分类并路由到恰当的接收者、然后将该消息发送到正确的目的地的处理管道。当在MTA内处理消息时,将消息移交给允许对消息执行外部操作的可扩展性点经常是合乎需要的。例如,可调用可扩展性点来扫描消息以查看是否有病毒,确定消息是否可能有截取方,将否认声明添加到消息,或停止与发送垃圾邮件的一方的通信。这些外部操作可能涉及外部代码的执行,并可能在过程以外运行或要求调用远程服务。
在一个简单的情形中,可扩展性点将从MTA接收消息,对该消息完全执行其操作,然后将该消息返回给MTA以进行进一步的处理。但是,在较为复杂的情形中,可扩展性点在消息最初被接收到时完全执行其操作也许是不可能的。由此,为避免传送和投递过程不必要的延迟,可扩展性点可部分地执行其操作,将消息返回给MTA,然后在稍后从MTA重新访问该消息以完成操作。在这一较为复杂的情形中,可扩展性点可在将消息返回给MTA以前标记该消息。可扩展性点只会在它已重新访问了该消息并完成其操作以后移除标记。为确保消息在操作完成以前不会被分发,MTA在标记被移除以前将不会分发该消息。
尽管这种可扩展性点返回创造了提高的消息处理效率,但是它也导致若干消息访问的问题。尤其是,可扩展性点可能在操作已完成时没有移除消息标记。同样,即使标记已被移除,但是可扩展性点可能仍然试图不恰当地访问消息。事实上,可扩展性点可能试图在单个消息上不恰当地复制同一操作。在一些情形中,可扩展性点甚至可能试图访问并不预期它将对其执行任何操作、或打算移交给不同的可扩展性点的消息。这些及其它访问错误可能导致对消息分发不必要的延迟,并且在一些情形中,甚至可能令一些接收者根本没有接收到消息。此外,这些访问错误可能导致不能完全和/或正确执行可扩展性点操作,并可能破坏消息内容或甚至电子邮件系统的总体性能。因此,在本领域中需要用于调节可扩展性点对消息的访问的系统和方法。
发明内容
本发明针对用于调节可扩展性点对消息的访问的系统和方法。在向可扩展性点发送消息以前,消息被用与该可扩展性点相关联的包装对象包装。包装对象可由可扩展性点在它准备好开始对消息的操作时生效。包装对象的生效使可扩展性点能够访问消息。包装对象稍后可由可扩展性点在它已完成对消息的操作时无效。包装对象的无效拒绝可扩展性点对消息的访问。如果可扩展性点仅部分地对消息执行了操作,则生效的经包装的消息可被返回给消息传送代理,然后由可扩展性点在稍后重新访问。如果可扩展性点试图在包装对象已被无效以后访问消息,则可生成异常,或者未经授权的访问只是没有作用。
本发明的其它特征和优点将参考附图从以下对示例性实施例的详细描述来明确。
附图说明
在参考附图阅读以下详细描述以后,将会更好地理解示例性实施例,其中:
图1是根据本发明的一种用于调节可扩展性点对消息的访问的示例性系统的框图;
图2是根据本发明的一种用于调节可扩展性点对消息的访问的示例性方法的流程图;
图3是表示可在其中实现本发明的、具有各种计算设备的示例性网络环境的框图;以及
图4是表示可在其中实现本发明的示例性计算设备的示例性框图。
具体实施方式
本发明的主题被特征性地描述以符合法定要求。但是,描述本身并不试图限制本专利的范围。相反,发明人构想了要求保护的本发明也能结合其它现有或未来的技术以其它方式来具体化,以包括类似于此文档中所描述的动作或元素的不同的动作或元素。
图1中示出根据本发明的一种用于调节可扩展性点对消息的访问的示例性系统的框图。一般而言,消息传送代理(MTA)100是接收传入的电子邮件消息并将消息路由到指定的接收者的处理管道。传入的消息可通过局域网(LAN)或诸如因特网等广域网(WAN)被传送到MTA。当接收到传入的消息时,接收模块101通常将根据简单邮件传输协议(SMTP)对消息执行初始处理。SMTP是用于在服务器之间发送电子邮件消息的协议,且大多数通过因特网发送邮件的电子邮件系统使用SMTP将消息从一个服务器发送到另一个服务器。在执行了初始处理以后,消息随其它被接收的消息一起被放在接收队列103中。分类器105是MTA的核心,它对传入的消息执行必要的分类和路由过程。在执行了这些过程以后,消息被放在发送队列107中,它被保持在该处直至它准备好被投递。当消息准备好被投递时,它被提交给发送模块109,该模块将消息提交给指定的终端接收者。此投递通常也是根据SMTP协议进行的。当消息被投递时,终端接收者通常经由邮件用户代理(MUA)软件访问消息,该软件允许消息被显示、阅读、打印,并且如果需要的话,还允许撰写恢复或转发的消息。
在整个MTA处理管道100上,消息可被发送到一个或多个可扩展性点111a-n。每个此类可扩展性点111使一个或多个外部操作能对该消息执行。可扩展性点111a-n允许执行诸如扫描消息以查看是否有病毒、确定消息是否可能有截取方,将否认声明添加到消息,或停止与发送垃圾邮件的一方的通信等操作。可扩展性点111中许多都可以被视为分类器可扩展性点,这意味着这些可扩展性点中至少有一部分是在分类和路由过程105期间被执行的。但是,可扩展性点111并不局限于分类器可扩展性点,并且它们的操作可在MTA处理期间的任何时候被执行。例如,诸如停止与发送垃圾邮件的一方的通信常常可在接收模块101最初接收到消息时被执行。
如前所述,由于在可扩展性点111处可执行的操作的大范围的原因,执行这些操作所需的复杂性和时间可能改变。在一个很简单的情形中,可扩展性点将从MTA 100接收消息,对该消息完全执行其操作,然后将该消息返回给MTA 100以进行进一步的处理。但是,在较为复杂的情形中,可扩展性点111在消息最初被接收到时完全执行其操作也许是不可能的。由此,为避免传送和投递过程不必要的延迟,可扩展性点可部分地执行其操作,将消息返回给MTA 100,然后在稍后从MTA100重新访问该消息以完成操作。在这一较为复杂的情形中,可扩展性点111可在将消息返回给MTA 100以前标记该消息。可扩展性点111只会在它已重新访问了该消息并完成其操作以后移除标记。为确保消息在操作完成以前不会被分发,MTA100在标记被移除以前将不会分发该消息。
当被标记的消息被返回给MTA 100时,对该消息的处理将会继续,直至该消息被可扩展性点111重新访问。由此,可扩展性点111可从与其最初访问该消息模块或过程不同的模块或过程重新访问该消息。例如,可扩展性点最初可从分类器105访问消息,对该消息执行其操作的一部分,然后将该消息返回给分类器105。MTA 100随即可继续并完成分类和路由过程,并将该消息提交给发送队列107。当可扩展性点111准备好完成其操作时,它将从发送队列107、而不是从它最初访问该消息的分类器105重新访问该消息。
同样如前所述,尽管使可扩展性点能够返回并在稍后重新访问消息创造了提高的处理效率,但是它也导致若干消息访问的问题。例如,可扩展性点111可能试图在它已完成对消息的操作以后不恰当地访问消息。在一些情形中,可扩展性点111甚至可能试图访问并不预期将对其执行任何操作、或打算移交给不同的可扩展性点的消息。为减少这些及其它访问的问题,本发明采取使用包装对象113。
一般而言,包装对象113调节可扩展性点对消息的访问。每个此类包装对象对一特定消息和对一特定可扩展性点111是唯一的。单个消息可被包装在多个包装对象中,其中每一个都用于该消息所要发送给的一个可扩展性点。同样,如果多个消息被发送给同一可扩展性点,则每个此类消息都可被包装在一个不同的包装对象内。包装对象113引用其所包装的消息,并包含到该消息的入口点的定义。包装对象113可由可扩展性点111在它准备好开始对消息的操作时生效。包装对象的生效使可扩展性点111能够访问该消息。包装对象113稍后可由可扩展性点111在它完成了对该消息的操作以后无效。包装对象的无效拒绝可扩展性点对消息的访问。例如,如果可扩展性点111只对消息部分地执行了操作,则它可在包装对象113仍然保持生效的情况下将该消息返回给MTA 100,然后在稍后访问该消息。
图2中示出根据本发明的一种用于调节可扩展性点对消息的访问的示例性方法的流程图。在动作210,在将消息移交给可扩展性点111以前,MTA 100用包装对象113包装消息。当包装对象被生效时,它被配置成向可扩展性点111提供访问该消息的访问途经。当包装对象被无效时,它被配置成拒绝可扩展性点111访问该消息的访问途经。在动作212,MTA 100将经包装的消息提供给可扩展性点111,以使它能够开始对该消息执行操作。在动作214,可扩展性点111使包装对象生效,以使它能够访问该消息。在动作216,可扩展性点111对该消息开始操作。
对于简单的情形,可扩展性点111无需首先将消息返回给MTA 100即可在动作222完成其对该消息的操作。但是,对于较为复杂的情形,在动作218,可扩展性点111可在完成其对该消息的操作以前将生效的经包装的消息返回给MTA 100。这一返回使MTA 100能够在可扩展性点111等待直至它能够有效率地继续其对该消息的操作时继续处理该消息。如果需要,可扩展性点111可在此时标记消息以指示它对该消息的操作尚未完成。在动作220,当可扩展性点111准备好继续其操作时,它从MTA 100请求取回该消息。可扩展性点111可能需要从MTA 100内与最初从其请求该消息的模块或过程不同的模块或过程请求该消息。在操作于动作222完成以前,生效的经包装的消息可在可扩展性点111和MTA 100之间被来回传递。在动作224,可扩展性点111完成了其操作以后就无效包装对象并且不再能访问该消息。如果需要,可扩展性点111在消息上已设置的任何标记在包装对象无效时即可被移除,以确保该消息的分发不会被不恰当地延迟。在动作226,可扩展性点111将无效的经包装的消息返回给MTA 100,以使其处理可被完成。如果可扩展性点111试图在包装对象已被无效以后访问消息,则MTA 100可生成异常,或者未经授权的访问只是简单地不起作用。
由此,如上文中参考图1和2的示例性系统和方法所述,本发明提供用于调节可扩展性点对消息的访问的系统和方法。如从上文所明确的,本发明的各系统、方法和方面的整体或部分可在硬件、软件或两者的组合中具体化。当在软件中具体化时,本发明的方法和装置、或者其某些方面或部分能以程序代码(即,指令)的形式具体化。此程序代码可被存储在计算机可读介质上,诸如磁、电或光存储介质,包括但不限于软盘、CD-ROM、CD-RW、DVD-ROM、DVD-RAM、磁带、闪存、硬盘驱动器、或任何其它机器可读的存储介质,当该程序代码被加载到诸如计算机或服务器等机器中并由其执行时,该机器就变成用于实施本发明的装置。该程序代码在其上执行的计算机一般将包括处理器、该处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备、以及至少一个输出设备。该程序代码可用高级过程性或面向对象编程语言实现。或者,该程序代码可用汇编或机器语言来实现。无论在哪种情况中,该语言都可以是编译或解释语言。
本发明还能以通过某种传输介质(诸如通过电线或电缆、通过光纤、通过包括局域网、广域网、因特网或内联网等网络、或经由任何其它传输形式)发送的程序代码的形式具体化,其中当程序代码被接收、被加载到诸如计算机等机器中并由其执行时,该机器就变成用于实施本发明的装置。
当在通用处理器上实现时,该程序代码可与处理器相结合以提供一种进行和专用逻辑电路类似的操作的独特装置。
此外,本发明可结合任何计算机或其它客户机或服务器设备来实现,它们可被部署为计算机网络的一部分,或可位于分布式计算环境中。就此而言,本发明涉及具有任意个数的存储器或存储单元、以及在任意个数的存储单元或卷上发生的任意个数的应用程序和过程的任何计算机系统或环境,其中,这些存储单元或卷可结合本发明来使用。本发明可应用于具有被部署在网络环境或具有远程或本地存储的环境的分布式计算环境中的服务器计算机和客户机计算机的环境。本发明还可被应用于具有用于生成、接收和发送与远程或本地服务有关的信息的编程语言功能、解释和执行能力的独立计算设备。
分布式计算通过计算设备和系统之间的交换便于共享计算机资源和服务。这些资源和服务包括,但不限于,信息的交换、高速缓存存储、以及文件的磁盘存储。分布式计算利用网络连接,从而允许客户机控制它们集体的力量以有益于整个机构。就此而言,各种设备可具有涉及结合本发明执行的处理的应用程序、对象或资源。
图3提供示例性联网或分布式计算环境的示意图。该分布式计算环境由计算对象10a、10b等,以及计算对象或设备110a、110b、110c等组成。这些对象可包括程序、方法、数据存储、可编程逻辑、等等。这些对象可包括诸如PDA、电视机、MP3播放器、个人计算机等相同或不同设备中的一部分。每个对象可通过通信网络14与另一个对象通信。此网络本身可由向图3的系统提供服务的其它计算对象和计算设备组成,且其本身可表示多个互连的网络。根据本发明的一个方面,每个对象10a、10b等或110a、110b、110c等可包含使用API或其它对象、软件、固件和/或硬件来请求使用用于实现本发明的过程的应用程序。
还可认识到,诸如110c等对象可被主宿在另一计算设备10a、10b等或110a、110b等上。因此,尽管所示的物理环境可能将所连接的设备视为计算机,但是此类图示纯粹是示例性的,而该物理环境可被替换地描绘或描述为包括诸如PDA、电视机、MP3播放器等各种数字设备,诸如接口等软件对象,COM对象,等等。
有各种支持分布式计算环境的系统、组件和网络配置。例如,计算系统可通过有线或无线系统、通过局域网或广域网连接到一起。目前,许多网络被耦合到因特网,它提供用于大范围分布的分布式计算的基础结构,并包括许多不同的网络。任何这些基础结构都可用于随本发明提供的示例性通信。
因特网通常指采用TCP/IP协议套件的网络和网关的集合,该协议套件是计算机网络领域中所公知的。TCP/IP是“传输控制协议/因特网协议”的首字缩写。因特网可被描述为由执行允许用户在网络上交互和共享信息的网络协议的计算机互连的地理上分布的远程计算机网络的系统。因为这一大范围的信息共享,诸如因特网等远程网络迄今在一般意义上已经演化为开发者可在本质上没有任何限制的情况下为其设计用于执行专门的操作或服务的软件应用程序的开放式系统。
因此,该网络基础结构允许诸如客户机/服务器、对等连接、或混合体系结构等许多网络拓扑结构宿主。“客户机”是使用与其无关的另一个类或分组的服务的类或分组的成员。因此,在计算中,客户机是过程,即,粗略地将是请求由另一个程序提供的服务的指令集或任务集。客户机过程无须“知道”关于另一程序或该服务本身的任何工作细节即可使用所请求的服务。在客户机/服务器体系结构中,特别是在联网系统中,客户机通常是访问由另一计算机(例如,服务器)提供的共享网络资源的计算机。在图3的示例中,计算机110a、110b等可被视为客户机,而计算机10a、10b等可被视为服务器,尽管根据情况,任何计算机都可以被视为客户机、服务器或既是客户机又是服务器。任何这些计算设备都能以涉及本发明的方式处理数据。
服务器通常是通过诸如因特网等远程或本地网络可访问的远程计算机系统。客户机过程可在第一计算机系统中活动,而服务器过程可在第二计算机系统中活动,它们通过通信介质相互通信,从而提供分布式功能并允许多个客户机使用服务器的信息收集能力。根据本发明使用的任何软件对象可被分布在多个计算设备上。
(一个或多个)客户机和(一个或多个)服务器可使用协议层提供的功能相互通信。例如,超文本传输协议(HTTP)是结合万维网(WWW)或称“Web”使用的公共协议。通常,诸如因特网协议(IP)地址等计算机网络地址或诸如统一资源定位器(URL)等其它引用可被用来将服务器或客户机计算机相互标识。网络地址可被称为URL地址。可在任何可用的通信介质上提供通信。
因此,图3示出可在其中使用本发明的示例性联网或分布式环境,其中一服务器经由网络/总线与数个客户机计算机通信。根据本发明,网络/总线14可以是LAN、WAN、内联网、因特网、或某种其它网络介质,它带有若干客户机或远程计算设备110a、110b、110c、110d、110e等,诸如便携式计算机、手持式计算机、瘦型客户机、联网设施,或诸如VCR、TV、电炉、电灯、电热器等其它设备。因此,构想了本发明可应用于希望与之相关地调节可扩展性点对消息的访问的任何计算设备。
在通信网络/总线14是例如因特网的网络环境中,服务器10a、10b等可以是客户机110a、110b、110c、110d、110e等经由诸如HTTP等许多已知协议中的任何一种与之通信的服务器。服务器10a、10b等还可起到客户机110a、110b、110c、110d、110e等的作用,这是分布式计算环境的特征。
只要适用,通信可以是有线或无线的。客户机设备110a、110b、110c、110d、110e等可经由通信网络/总线14通信,也可不经由通信网络/总线14通信,并可具有与之相关联的独立通信。例如,在TV或VCR的情形中,就对其的控制而言可能有、也可能没有联网的方面。每个客户机计算机110a、110b、110c、110d、110e等和服务器计算机10a、10b等可配备各种应用程序模块或对象135,并具有到各种类型的存储元件或对象的连接或访问,文件或数据流可被存储在这些存储元件或对象上,或可将文件或数据流的部分下载、发送或移动到这些存储元件或对象上。任何计算机10a、10b、110a、110b等都可负责用于存储根据本发明处理的数据的数据库、存储器或其它存储元件20的维护和更新。因此,可在具有可访问并与计算机网络/总线14交互的客户机计算机110a、110b等和可与客户机计算机110a、110b等交互的服务器计算机10a、10b等以及其它类似设备的计算机网络环境中利用本发明。
图4及以下讨论旨在提供可被结合而实现本发明的适用的计算设备的简要、一般的描述。例如,图3中所示的任何客户机和服务器计算机或设备可表现为这一形式。但是,应当理解,构想了结合本发明使用的手持式、便携式及其它计算设备以及所有种类的计算对象,即,在计算环境里数据可从中生成、处理、接收和/或发送的任何地方。尽管以下描述了通用计算机,但是这只是一个例子,本发明可用具有网络/总线可相互操作性和交互性的瘦型客户机实现。因此,本发明可在其中涉及很少或几乎不涉及客户机资源的联网的宿主的服务的环境中实现,例如其中客户机设备纯粹起到到网络/总线的接口的作用(诸如被放在装置中的对象等)的联网环境。本质上,可存储数据或可从其检索或将数据发送到另一台计算机的任何地方都是本发明的操作预期的或适用的环境。
尽管并非必须,但是本发明可经由操作系统来实现,以供设备或对象的服务的开发者使用,和/或可被包括在根据本发明操作的应用程序或服务器软件内。可在由诸如客户机工作站、服务器或其它设备等一个或多个计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述软件。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,可按各实施例中所需,将各程序模块的功能合并或分配。此外,本发明可用其它计算机系统配置和协议来实施。适用于本发明的其它公知的计算系统、环境、和/或配置包括,但不限于,个人计算机(PC)、自动取款机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、设备、电灯、环境控制元件、小型计算机、大型计算机、等等。
图4由此示出可在其中实现本发明的适用的计算系统环境400的示例,尽管如上文中所明确的,计算系统环境400只是适用的计算环境的一个例子,而并不试图对本发明的使用范围或功能提出任何限制。也不应将计算环境400解释为具有涉及示例性操作环境400中所示的任一组件或其组合的任何依赖性或要求。
参考图4,用于实现本发明的示例性系统包括计算机110形式的通用目的计算设备。计算机110的组件可包括,但不限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各系统组件耦合到处理单元120的系统总线121。系统总线121可以是数种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用各种总线体系结构中的任何一种的局部总线。作为示例,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线、以及外围组件互连(PCI)总线(也称为Mezzanine总线)。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,并包括易失性和非易失性介质、可移动和不可移动介质。作为示例,而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术,CDRPM、数字多功能盘(DVD)或其它光盘存储,磁带盒、磁带、磁盘存储或其它磁存储设备,或可被用来存储所需信息并可由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送介质。术语“已调制数据信号”是指以在信号中将信息编码的方式设置或改变其一个或多个特征的信号。作为示例,而非限制,通信介质包括诸如有线网络或直接连线连接等有线介质,以及诸如声学、RF、红外和其它无线介质等无线介质。以上任何组合也应被包括在计算机可读介质的范围之内。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132等易失性和/或非易失性存储器形式的计算机存储介质。包含诸如在启动时帮助在计算机110内部各元件之间传递信息的基本例程的基本输入/输出系统133(BIOS)通常被存储在ROM 131中。RAM 132通常包含可由处理单元120立即访问的和/或目前正在由其操作的数据和/或程序模块。作为示例,而非限制,图4示出操作系统134、应用程序135、其它程序模块136、以及程序数据137。
计算机110还可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图4示出读或写不可移动、非易失性磁介质的硬盘驱动器141,读或写可移动、非易失性磁盘152的磁盘驱动器151,以及读或写诸如CD-RW、DVD-RW或其它光介质等可移动、非易失性光盘156的光盘驱动器155。该示例性操作环境中可使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘、数码录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140等不可移动存储器接口连接到系统总线121,而磁盘驱动器151和光盘驱动器155通常通过诸如接口150等可移动存储器接口连接到系统总线121。
以上所讨论并在图4中示出的各驱动器及其相关联的计算机存储介质为计算机110提供计算机可读指令、数据结构、程序模块及其它数据的存储。例如,在图4中,硬盘驱动器141被示为存储了操作系统144、应用程序145、其它程序模块146、以及程序数据147。注意,这些组件可与操作系统134、应用程序135、其它程序模块136和程序数据137相同或不同。这里给予操作系统144、应用程序145、其它程序模块146、和程序数据147不同的标号以说明至少它们是不同的副本。用户可通过诸如键盘162和定位设备161(诸如鼠标、跟踪球或触摸屏)等输入设备将命令和信息输入到计算机110中。其它输入设备(未示出)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、等等。这些及其它输入设备常常通过被耦合到系统总线121的用户输入接口160连接到处理单元120,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)等其它接口和总线结构连接。图形接口182也可被连接到系统总线121。一个或多个图形处理单元(GPU)184可与图形接口182通信。监视器191或其它类型的显示设备也经由诸如视频接口190等接口连接到系统总线121,该接口进而与视频存储器186。除了监视器191以外,计算机还可包括诸如扬声器197和打印机196等其它外围输出设备,它们可通过输出外围接口195连接。
计算机110可使用到诸如远程计算机180等一个或多个远程计算机的逻辑连接在联网或分布式环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备、或其它普通网络节点,并通常包括以上相对于计算机110所描述的许多或所有元件,尽管图4中仅示出记忆存储设备181。图4中所示的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但还可包括其它网络/总线。此类网络环境常见于家庭、办公室、企业范围的计算机网络、内联网以及因特网中。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接到LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。可内置或外置的调制解调器172可经由用户输入接口160或其它适当机制连接到系统总线121。在联网环境中,相对于计算机110所描述的程序模块或其部分可被存储在远程记忆存储设备中。作为示例,而非限制,图4示出远程应用程序185驻留在存储器设备181上。可以认识到,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其它装置。
结论
因此,本发明揭示了用于调节可扩展性点对消息的访问的系统和方法。尽管结合各个附图的优选实施例描述了本发明,但是应当理解,还可使用其它类似的实施例,或可对所描述的实施例进行修改或添加,以执行和本发明相同的功能而不会偏离本发明。因此,本发明不应被局限于任何单个实施例,而是应当根据所附权利要求书的广度和范围来解释。

Claims (20)

1.一种用于在消息传送代理中调节可扩展性点对消息的访问的方法,其中所述消息是电子邮件消息,并且其中所述可扩展性点用于对所述消息执行一个或多个外部操作,所述方法包括:
将所述消息包装在包装对象中,当所述包装对象被所述可扩展性点生效时,该包装对象向所述可扩展性点提供对所述消息的访问,而当所述包装对象被所述可扩展性点无效时,该包装对象拒绝所述可扩展性点对所述消息的访问;以及
将所述包装对象发送到所述可扩展性点。
2.如权利要求1所述方法,其特征在于,还包括将所述消息包装在与另一可扩展性点相关联的另一包装对象中。
3.如权利要求1所述方法,其特征在于,还包括:
在所述可扩展性点完成对包装在所述包装对象中的消息的所述一个或多个外部操作以前,从所述可扩展性点接收回已生效的包装对象;
继续处理包装在所述包装对象中的消息;
从所述可扩展性点接收它已准备好继续对包装在所述包装对象中的消息的所述一个或多个外部操作的指示;以及
将已生效的包装对象返回给所述可扩展性点。
4.如权利要求3所述方法,其特征在于,包括通过将包装在所述包装对象中的消息发送到发送队列来继续处理该包装在所述包装对象中的消息。
5.如权利要求1所述方法,其特征在于,还包括在所述可扩展性点试图访问已无效的包装对象时生成异常。
6.如权利要求1所述方法,其特征在于,所述可扩展性点是分类器可扩展性点。
7.如权利要求1所述方法,其特征在于,所述可扩展性点是接收模块可扩展性点。
8.一种用于调节可扩展性点对消息的访问的系统,其中所述消息是电子邮件消息,并且其中所述可扩展性点用于对所述消息执行一个或多个外部操作,所述系统包括:
所述可扩展性点;
包装对象,在所述包装对象由所述可扩展性点生效时向所述可扩展性点提供对所述消息的访问,并且在所述包装对象被所述可扩展性点无效时拒绝所述可扩展性点对所述消息的访问;
消息传送代理,它在将所述包装对象发送到所述可扩展性点以前将所述消息包装在所述包装对象中。
9.如权利要求8所述的系统,其特征在于,所述可扩展性点是分类器可扩展性点。
10.如权利要求8所述的系统,其特征在于,所述可扩展性点是接收模块可扩展性点。
11.如权利要求8所述的系统,其特征在于,所述可扩展性点将已生效的包装对象返回给所述消息传送代理,然后在稍后从所述消息传送代理接收回已生效的包装对象。
12.如权利要求8所述的系统,其特征在于,所述消息还用与另一可扩展性点相关联的另一包装对象来包装。
13.如权利要求8所述的系统,其特征在于,所述消息传送代理在所述可扩展性点试图访问已无效的包装对象时生成异常。
14.一种用于在消息传送代理中调节可扩展性点对消息的访问的系统,其中所述消息是电子邮件消息,并且其中所述可扩展性点用于对所述消息执行一个或多个外部操作,所述系统包括:
用于将所述消息包装在包装对象中的装置,当所述包装对象被所述可扩展性点生效时,该包装对象向所述可扩展性点提供对所述消息的访问,而当所述包装对象被所述可扩展性点无效时,该包装对象拒绝所述可扩展性点对所述消息的访问;以及
用于将所述包装对象发送到所述可扩展性点的装置。
15.如权利要求14所述的系统,其特征在于,还包括用于将所述消息包装在与另一可扩展性点相关联的另一包装对象中的装置。
16.如权利要求14所述的系统,其特征在于,还包括:
用于在所述可扩展性点完成对包装在所述包装对象中的消息的所述一个或多个外部操作以前,从所述可扩展性点接收回已生效的包装对象的装置;
用于继续处理包装在所述包装对象中的消息的装置;
用于从所述可扩展性点接收它已准备好继续对包装在所述包装对象中的消息的所述一个或多个外部操作的指示的装置;以及
用于将已生效的包装对象返回给所述可扩展性点的装置。
17.如权利要求16所述的系统,其特征在于,用于继续处理包装在所述包装对象中的消息的装置包括用于将包装在所述包装对象中的消息发送到发送队列的装置。
18.如权利要求14所述的系统,其特征在于,还包括用于在所述可扩展性点试图访问已无效的包装对象时生成异常的装置。
19.如权利要求14所述的系统,其特征在于,所述可扩展性点是分类器可扩展性点。
20.如权利要求14所述的系统,其特征在于,所述可扩展性点是接收模块可扩展性点。
CN2006100046246A 2005-02-28 2006-01-26 用于调节可扩展性点对消息的访问的系统和方法 Active CN1829203B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/068,074 2005-02-28
US11/068,074 US7383265B2 (en) 2005-02-28 2005-02-28 System and method for regulating an extensibility point's access to a message

Publications (2)

Publication Number Publication Date
CN1829203A CN1829203A (zh) 2006-09-06
CN1829203B true CN1829203B (zh) 2010-12-08

Family

ID=36933011

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100046246A Active CN1829203B (zh) 2005-02-28 2006-01-26 用于调节可扩展性点对消息的访问的系统和方法

Country Status (7)

Country Link
US (1) US7383265B2 (zh)
EP (1) EP1798916B1 (zh)
JP (1) JP4332159B2 (zh)
KR (1) KR101149995B1 (zh)
CN (1) CN1829203B (zh)
AT (1) ATE434892T1 (zh)
DE (1) DE602006007427D1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100070372A1 (en) * 2008-09-17 2010-03-18 Yahoo! Inc. Using spam and user actions to infer advertisements
WO2011075145A1 (en) * 2009-12-18 2011-06-23 Hewlett-Packard Development Company, L.P. Server migration method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1352420A (zh) * 2001-11-29 2002-06-05 上海格尔软件股份有限公司 安全电子邮件与Outlook Express集成的方法
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7032030B1 (en) * 1999-03-11 2006-04-18 John David Codignotto Message publishing system and method
US6658004B1 (en) * 1999-12-28 2003-12-02 Sun Microsystems, Inc. Use of beacon message in a network for classifying and discarding messages
US20020120697A1 (en) * 2000-08-14 2002-08-29 Curtis Generous Multi-channel messaging system and method
MXPA04004681A (es) 2001-11-20 2004-09-10 Contentguard Holdings Inc Sistema de procesamiento de expresion de derechos extensible.
US8375113B2 (en) 2002-07-11 2013-02-12 Oracle International Corporation Employing wrapper profiles
US20050149630A1 (en) * 2003-06-27 2005-07-07 Brent Smolinski Context sensitive transfer with active listening and active alerts
US7558806B2 (en) * 2003-12-14 2009-07-07 Realnetworks, Inc. Method and apparatus for buffering streaming media
US20070107053A1 (en) * 2004-05-02 2007-05-10 Markmonitor, Inc. Enhanced responses to online fraud
US8849892B2 (en) * 2004-06-10 2014-09-30 Verizon Patent And Licensing Inc. Method and system for brokering messages in a distributed system
US9160755B2 (en) * 2004-12-21 2015-10-13 Mcafee, Inc. Trusted communication network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6748555B1 (en) * 1999-09-09 2004-06-08 Microsoft Corporation Object-based software management
CN1352420A (zh) * 2001-11-29 2002-06-05 上海格尔软件股份有限公司 安全电子邮件与Outlook Express集成的方法

Also Published As

Publication number Publication date
JP2006244477A (ja) 2006-09-14
CN1829203A (zh) 2006-09-06
US7383265B2 (en) 2008-06-03
ATE434892T1 (de) 2009-07-15
JP4332159B2 (ja) 2009-09-16
US20060195457A1 (en) 2006-08-31
EP1798916A1 (en) 2007-06-20
KR101149995B1 (ko) 2012-06-01
DE602006007427D1 (de) 2009-08-06
KR20060095445A (ko) 2006-08-31
EP1798916B1 (en) 2009-06-24

Similar Documents

Publication Publication Date Title
US7610340B2 (en) Method, system and storage medium for providing interoperability of email and instant messaging services
US7581221B2 (en) Systems and methods for sending coordinated notifications
JP4934670B2 (ja) 信頼度の低いネットワーク上で状況に基づくルールを用いてトランザクションおよびデータを切り替えるように適合されたゲートウェイ
CN101171579B (zh) 用于社区中继节点发现的装置和方法
CA2552057C (en) Automatic patient record update enabled clinical messaging
CN101098315B (zh) 在高速低延迟数据通信环境中计算机数据通信方法和系统
US9531732B2 (en) Computer implemented system and method for authenticating a sender of electronic data to a recipient
EP1695518B1 (en) Method of redirecting client requests to web services
KR20040071203A (ko) 프록시를 이용하여 데이터를 다운로딩하기 위한 시스템 및방법
CN102667509A (zh) 用于提供更快速且更高效的数据通信的系统和方法
CN101202714A (zh) 消息传送环境中向服务提供方分发消息请求的方法和装置
JP4789100B2 (ja) 電子メール送信システム
CN103532833A (zh) 一种业务系统访问方法、终端及代理服务系统
US7912945B2 (en) Exchange of management information via application messages
JP5593359B2 (ja) 通信制御装置、メッセージ転送方法およびメッセージ転送プログラム
CN1829203B (zh) 用于调节可扩展性点对消息的访问的系统和方法
JP2010171722A (ja) 中継サーバを有するネットワークシステム、その中継サーバ、プログラム
US7165118B2 (en) Layered message processing model
KR20230003490A (ko) 오케스트레이션된 프록시 서비스
JP2006121699A (ja) 第1のデータネットワークから第2のデータネットワークへのデータパケットのカーネルレベルの通過のための方法及び装置
CN113438299A (zh) 文件传输方法及传输装置
US20190066121A1 (en) Methods and systems for enhancing the trustworthiness of internet services
JP5608598B2 (ja) ファイル転送システム
JP2008112296A (ja) 配信経路確認システム及び配信経路確認方法及びコンピュータのプログラム
JP5227984B2 (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
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150428

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150428

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.