CN101044469A - 传输不可知拉模式消息通信服务 - Google Patents

传输不可知拉模式消息通信服务 Download PDF

Info

Publication number
CN101044469A
CN101044469A CNA2004800017100A CN200480001710A CN101044469A CN 101044469 A CN101044469 A CN 101044469A CN A2004800017100 A CNA2004800017100 A CN A2004800017100A CN 200480001710 A CN200480001710 A CN 200480001710A CN 101044469 A CN101044469 A CN 101044469A
Authority
CN
China
Prior art keywords
message
client computer
adapter
end points
client
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.)
Granted
Application number
CNA2004800017100A
Other languages
English (en)
Other versions
CN100495379C (zh
Inventor
D·N·拉萨利
K·B·史密斯
J-E·艾连恩
A·J·萨佳
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 Corp
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 CN101044469A publication Critical patent/CN101044469A/zh
Application granted granted Critical
Publication of CN100495379C publication Critical patent/CN100495379C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • 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
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • 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
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

传输不可知拉模式消息通信服务使不同类型的客户机(106、107、108)能够彼此发送和接收消息,同时保证消息的传送。客户机专用适配器(103、104、105)连接到服务器,并拉出队列中等待它们的消息。客户机可将其自身指定为拉出的消息的接收者,或将另一客户机指定为接收者。这允许不同类型客户机(106、107、108)的用户能够通信,并向用户提供了关于如何、何时以及何处查看其消息的更大的灵活性。

Description

传输不可知拉模式消息通信服务
相关申请的参照
本申请要求2003年12月31日提交的美国申请序列号10/750,191的优先权,该申请的公开通过整体引用结合于此。
发明领域
本发明一般涉及消息传送系统领域。更具体而言,本发明涉及消息的发送和请求中的消息可靠性。
发明背景
当技术不断前进时,向用户呈现了可发送和接收消息的各种各样设备。典型的办公室工作者在多个设备上发送和接收消息是很常见的,这些设备包括电话语音邮件系统、个人数字助理(PDA)、使用小消息通信服务(SMS)的蜂窝电话、以及个人电子邮件账号。尽管从多个来源和设备发送和接收消息的能力为工作者创建了灵活性,然而它也造成了其它问题。例如,工作者现在负责核查若干不同的设备,从而增加了时间、费用和压力,并且期望向工作者发送消息的用户必须猜测工作者当前正在使用什么设备,以获得工作者将及时接收消息的高可能性。
另外,对于消息的发送者通常没有可靠的方法来知道接收者是否接收到了消息,这会导致同一消息的多个副本被发送和接收。在任务关键的应用中,重复的消息可以是有问题的。例如,用户可通过电子邮件提交定单以售出100股份。如果用户不确定其传送,他可能再次发送它。对于接收者没有可靠的方法来说出用户是希望两次单独的100股份的销售,还是包含该定单的第二个消息是重复的。
对这些问题的先前的解决方案通常是不灵活的,且限于某些技术。例如,存在将电子邮件转换成SMS以供在蜂窝电话上接收的程序。然而,这些解决方案通常不允许消息接收者选择他在哪里接收该消息;相反,它们依赖于发送者来指定消息在哪里被发送。此外,这些解决方案没有向发送者提供消息被接收的保证,并且没有向接收者提供消息是否被发送的指示。另外,它们需要消息发送者知道消息接收者所具有的用于接收消息的技术。
鉴于上述原因,需要一种可靠地确保消息被传送并且重复的消息被删除的消息通信系统。另外,需要向用户提供向其它用户发送和接收消息而无需关心用于接收那些消息的设备,以及另外选择它们何时以及使用什么设备可接收其自己的消息的能力。
发明概述
本发明提供了一种用于确保消息传送的传输不可知拉模式消息通信的机制。
依照一个实施例,客户机的用户希望向特定的端点发送消息。端点可以是应用程序、另一用户或另一客户机。用户客户机生成消息的唯一消息标识(如,号码),然后将该消息连同唯一消息标识一起发送给服务器。服务器然后可响应客户机,表明具有唯一消息标识的消息已被接收。如果客户机在指定时间内未从服务器接收到响应,则客户机重新发送消息和唯一标识。在服务器接收到消息之后,它查找消息存储中的重复消息。如果它没有发现重复,则它将消息保存在消息存储中。
客户机的用户希望接收在消息存储中等待被传送的某些或所有其消息。用户希望在他所使用的客户机上或在某一其它端点处接收其消息。用户客户机生成指定用户期望接收的消息和期望端点的消息。用户客户机生成消息的唯一消息标识,并将该消息连同唯一消息标识一起发送给服务器。服务器然后可响应客户机,具有唯一消息标识的消息已被接收。如果客户机在指定时间内未从服务器接收到响应,则客户机重新发送消息和唯一标识。服务器然后可检索指定的消息并将它们发送到指定的端点。
当结合附图继续阅读以下说明性实施例的详细描述时,可以清楚本发明的其它特征和优点。
附图简述
当结合附图阅读时,可以更好地理解以上概述以及以下较佳实施例的详细描述。为说明本发明的目的,附图中示出了本发明的示例性构造;然而,本发明不限于所揭示的具体方法和手段。附图中:
图1是可用于描述本发明的特征的示例性系统的框图;
图2是可用于描述依照本发明的确保客户机和服务器之间的消息传送的示例性方法的图示;
图3是依照本发明的确保客户机和服务器之间的消息传送的示例性方法的流程图;以及
图4所示是其中可实现本发明的示例性计算环境的框图。
较佳实施例的详细描述
综述
本发明针对传输不可知拉模式消息通信,它使不同类型系统或设备的客户机能够彼此发送和接收消息,同时提供了保证的消息传送。此处所揭示的示例性系统和方法克服了现有技术和系统中发现的不同的客户机设备之间的互操作性问题以及消息传送可靠性问题。
诸如电子邮件应用程序或蜂窝电话等客户机设备连接到服务器,并拉出队列中等待它们的消息。客户机可将其本身指定为拉出的消息的接收者,或将另一客户机指定为接收者。客户机通过客户机适配器与服务器通信。客户机适配器能够通过使用客户机和服务器使用的特定协议(并在之间转换)在服务器和客户机之间交互。这允许不同类型的客户机的用户能够通信,并向用户提供了关于如何、何时以及何处查看其消息的更大的灵活性。
示例性实施例
图1依照本发明描述了传输不可知拉模式消息通信系统100的示例性实施例的框图,它准许消息由多个不同的设备和格式以及在多个不同的设备和格式之间发送、排队和/或接收。提供了消息存储101、服务器引擎102、多个客户机适配器103、104、105以及多个客户机设备106、107、108。消息存储101可用于储存由客户机发送和/或接收的消息。消息可包括消息正文、消息发送者的标识、消息的端点目的地、以及可与消息相关联的任何其它信息。例如,端点可以是特定用户、客户机设备或应用程序。消息被储存,直到从服务器引擎102接收到删除消息的指令。可以理解,可使用本领域中已知的用于消息存储的任何方法、系统或技术。
服务器引擎102用于与客户机适配器103、104、105和消息存储101通信。客户机适配器可请求服务器引擎102在消息存储101上执行某些操作。这些操作可包括从消息存储101添加、删除和/或检索消息。可以理解,服务器引擎102允许灵活地对消息存储201进行底层设计,因为对消息存储101的任何改变通常是依照服务器引擎102的修改来执行的,并且将不会影响客户机适配器的操作。
有多种消息适配器,例如,对所支持的每一客户机设备类型有一种。客户机适配器可担当相关联的客户机设备和服务器引擎102之间的中介,并允许客户机设备与服务器引擎102交互,而无需客户机设备或服务器引擎102使用相同的通信方法或协议。可以理解,对每一支持的客户机类型使用客户机适配器可允许容易地添加新的客户机,而无需对服务器引擎102或客户机设备本身的修改。客户机设备可由用户用于发送和接收消息。
为说明目的,参考本示例描述了三种客户机适配器和三种客户机设备。例如,PDA适配器103用于在PDA客户机106和服务器引擎102之间通信。PDA客户机106可以是本领域中公知的典型的个人数字助理。类似地,电子邮件适配器104用于在电子邮件客户机107和服务器引擎102之间通信。电子邮件客户机107可以是本领域中公知的典型的电子邮件应用程序,如MICROSOFT的Outlook。此外,SMS适配器105用于在SMS客户机108和服务器引擎102之间通信。SMS客户机108可以是本领域中公知的典型的蜂窝电话设备。
PDA客户机106的用户可期望向特定端点发送消息。为说明的目的,选择了PDA客户机106,然而可以理解,可使用任何客户机来发送消息。例如,端点可以是另一用户、应用程序或不同类型的客户机。在本示例中,假定端点是SMS客户机108。
为确保消息被接收,PDA客户机106可首先生成消息的唯一消息标识(如,号码或其它标识符)。可以理解,可使用本领域中已知的用于生成唯一消息标识符的任何方法、系统或技术。该唯一标识符的目的是确保消息被接收,以及任何随后的重新发送将被系统作为重复来处理。唯一消息标识符可连同消息内容一起被发送到与PDA客户机106相关联的适配器,在本情况下为PDA适配器103。
在本示例性实施例中,PDA适配器103可以接收或不接收由PDA客户机106发送的消息。如果PDA适配器103接收消息,则它可用表明消息连同由PDA客户机106提供的唯一标识符一起被接收的消息来响应PDA客户机106。如果PDA适配器103未接收消息,则表明消息在传输中丢失,或者如果PDA客户机106未接收到响应,则在某一指定时间之后,可由PDA客户机106重新发送原始消息以及唯一标识符。PDA客户机106将继续重新发送消息和唯一标识符,直到它从PDA适配器103接收到指示消息被接收的响应。
在本示例性实施例中,PDA适配器103可能已经发送了对由PDA客户机106发送的消息的响应。消息现在可由PDA适配器103发送到服务器引擎102。PDA适配器103可被表征为处理消息请求的服务器引擎102与发送和请求消息的PDA客户机106之间的通信层。每一客户机设备可使用不同的标准或协议来通信。可以理解,对于服务器引擎102,与使用多种标准或协议的客户机设备通信是麻烦的。因此,每一类型的客户机可具有一相关联的适配器(例如,适配器103、104、105),该适配器允许服务器引擎102和每一类型客户机之间的通信。可以理解,客户机适配器的使用模块化了服务器的设计,并提供了通过创建新适配器类型来添加新类型客户机的能力。
服务器引擎102现在可使用先前由PDA客户机106提供的唯一消息标识符以及可与客户机相关联的客户机标识号查询消息存储101。每一客户机较佳地具有与其相关联的标识符。客户机标识符可以是任何号码或者其它标识,它们唯一地标识了客户机并将其与其它客户机区分开来。
该查询可以在消息存储101中搜索包含匹配的唯一消息标识符以及对应于PDA客户机106的客户机标识符的任何消息。如果消息101返回任何匹配,则服务器引擎102理想地假设当前消息是重复的,并将不保存该消息。可以理解,由于唯一消息标识符仅对特定的客户机是唯一的,并非整个系统,因此连同唯一消息标识符一起使用客户机标识符确保没有消息由于冲突的唯一消息标识符而丢失。
如果消息存储101没有从查询中返回任何结果,则服务器引擎102可标准化消息以储存在消息存储101中。可以理解,适配器的使用允许客户机与服务器引擎102通信,然而消息仍需要被格式化或标准化以储存在消息存储101中。消息理想地由服务器引擎102标准化成XML。可以理解,可使用本领域中已知的用于消息标准化的其它系统、技术或方法。标准化消息然后被发送到消息存储101以便储存供客户机设备稍后检索。
在示例性实施例中,SMS客户机108的用户可能希望接收发送给他的某些或全部消息。这些消息可驻留在消息存储201中,如先前由PDA客户机106的用户发送的消息。用户可通过向SMS适配器105发送指定他希望接收消息以及他希望如何接收消息的消息来请求这些消息。
用户具有关于其消息如何返回给他的若干选项。具体地,用户可指定接收消息的端点。该端点可以是用户当前正在使用的设备,但也可以是诸如另一用户或电子邮件客户机107的另一端点。例如,用户可具有大量的消息,并且相反希望在电子邮件客户机107上查看它们。另外,用户可能希望在用户当前正在使用的设备上接收其消息,但是使用不同的协议。例如,用户可能在其个人计算机上使用电子邮件客户机107已接收了其消息,但是现在可能期望在其个人计算机上使用web浏览器来接收它们。
假定SMS客户机107的用户期望在SMS客户机108上读取其消息。因此,他可向SMS适配器105发送指示他希望在SMS客户机108上接收消息的消息。SMS客户机108首先生成唯一消息标识符。该唯一消息标识符用于确保消息由SMS适配器105接收,并防止发送重复的消息。SMS客户机108现在可将具有该唯一消息标识符的消息发送到SMS适配器105,该消息指定了他希望在端点SMS客户机108处接收其消息,以及可用的任何附加传送选项。
SMS适配器105从SMS客户机108接收请求,它请求将相关联的消息发送给SMS客户机108。SMS适配器105现在可向服务器引擎102发送消息,该消息带有对具有SMS客户机108的端点的所有消息的请求。服务器引擎102在消息存储101中查询具有与SMS客户机108相匹配的指定端点的消息。消息存储101向服务器引擎102返回所有匹配的消息。服务器引擎102可以用要向其发送的端点(在本情况下为SMS客户机108)所要求的格式来标准化消息。如上所述,消息作为XML储存在消息存储101中。服务器引擎102理想地将消息从XML转换成SMS客户机108要求的格式。服务器引擎102然后将那些消息发送到SMS适配器105。SMS适配器105然后可将消息以及唯一消息标识符一起发送到SMS客户机108。一旦SMS客户机108接收到消息,它可显示它们或将其提供给用户。
SMS客户机108可能未接收到它所请求的消息。例如,这可以是发送到SMS适配器105的初始消息在传输中丢失的结果,或来自SMS适配器105的响应在传输中丢失的结果。在任一情况下,SMS客户机108在某一(较佳地由用户定义)超时时间段之后,重新发送原始消息以及原始唯一消息标识符。较佳地,它将不断地重新发送原始消息以及唯一标识符,直到它从SMS适配器105接收到包含匹配的唯一标识符的响应。可从唯一消息标识符中标识的所到达的任何重复响应理想地由SMS客户机108忽略。
SMS客户机108的用户现在可能已接收到了其消息。那些消息可包含用于期望发送到电子邮件应用程序的信息。例如,消息包含用户可能更容易地用台式机上的电子邮件应用程序查看的文本或附件。假定SMS客户机108的用户希望将特定的消息转发给电子邮件客户机207,它可将该消息发送给SMS适配器105,以将所选择的消息转发给对应于电子邮件客户机107的端点,该消息连同唯一消息标识符一起发送,以确保SMS适配器105接收到该消息。
一旦SMS适配器105接收到消息,它可向SMS客户机108发送指示它接收到消息的回复。如果在(较佳地由用户指定)超时时间段内未收到回复,则SMS客户机108可重新发送该消息。
SMS适配器105可向服务器引擎102发送消息,以将指定的消息转发给电子邮件客户机107。服务器引擎102可向消息存储101查询指定的消息。服务器引擎然后可制作所接收消息的副本,并可将消息的目的地改为端点电子邮件客户机107。服务器引擎102现在可将新消息保存在消息存储101中。消息然后在消息存储101中等待电子邮件客户机107请求或访问它们。
图2是依照本发明确保客户机和服务器之间的消息传送的示例,图3是确保消息传送的示例性方法的对应流程图。
假定客户机设备220期望向服务器230发送消息。该消息可以为各种目的而发送,例如,中继发送者希望由另一用户接收的信息,或请求由服务器排队的消息被传送。在发送消息之前,客户机设备220生成或请求并接收唯一消息标识符,如标识号。可以构想唯一消息标识是使用本领域中已知的用于将唯一标识符与消息相关联的任何方法、系统或技术生成的。
在201,客户机设备220向服务器230发送消息以及唯一消息标识。201相对于图3中的步骤301被进一步示出。在步骤301,生成唯一消息标识并将其与消息一起发送给服务器。另外,启动一定时器,以对自从消息被发送以来所经过的时间进行计数。可以理解,可使用本领域中已知的用于保持时间的任何方法、系统或技术。
如202所示,由于各种原因,发送给服务器230的消息未被接收到,其某些原因已相对于图1描述。在预定和/或可由用户编程的某一指定的超时时间(“t”)之后,客户机设备220确定它尚未从服务器230接收到对消息的响应。在203,客户机设备220重新发送消息以及唯一消息标识。在204,服务器230接收消息,并且现在能够执行包含在消息中的指令。
203和204相对于步骤302-304进一步示出。在步骤302,可通过核查诸如“message_received”等变量来确定是否接收到对消息的匹配响应,该变量较佳地为一标志变量,它被设置以指示是否接收到匹配的消息。可以理解,可使用本领域中已知的用于确定消息是否到达的任何方法、技术或系统。如果消息被接收,则处理继续到步骤399,例程退出。如果消息未被接收,则处理在步骤303继续。
在步骤303,确定自从发送原始消息以来是否经过了最大时间t,这表明消息应当被再次发送。将定时器的当前值与t进行比较。如果定时器的值小于t,则过程返回到步骤302;否则,过程继续到步骤304。
在步骤304,确定已经过了最大时间t,并且客户机重新发送原始消息和唯一消息标识。定时器也被理想地复位,使得稍后可确定消息是否应当被再次重新发送。
返回到图2,如205处所示,服务器230向客户机设备220发送它已接收到消息的响应。在响应中,服务器230可包括与对它所响应的消息一起发送的唯一消息标识。
在206,发送到客户机设备230的响应由于各种原因而未被接收,其某些原因已在上文描述。然后,在207,经过了时间t,并且客户机设备220确定它未接收到对原始消息的响应。客户机设备220可能不知道消息实际上已被接收。由此,客户机设备220重新发送消息以及唯一消息标识。206和207在图3中相对于上述步骤302-304进一步示出。
在208,服务器230可接收到在207作为重复发送的消息。服务器230认识到它先前已从客户机设备220接收了具有同一唯一消息标识的消息,并因此已执行了包含在消息中的指令。因此,服务器230可假定在它205发送的消息未被接收。在209,服务器230可重新发送对它最初在205发送的消息的响应。
在210,客户机设备220可从服务器230接收响应。客户机设备220确定该响应包含与发送给服务器230的消息相同的唯一消息标识。客户机设备220现在可得出结论,消息由服务器230接收并操作。
210在步骤302和399进一步示出。在步骤302,通过核查变量message_received来确定是否接收到对消息的匹配响应。设置标志变量message_received以指示是否接收了匹配的消息。可以理解,可以使用本领域中用于确定消息是否已到达的任何方法、技术或系统。如果消息被接收,则过程可前进到步骤399。如果消息未被接收,则过程可前进到步骤303。在步骤399,已经确定接收到响应,过程然后退出。
示例性计算环境
图4示出了适合在其中实现本发明的计算系统环境400的一个示例。计算系统环境400仅为合适的计算环境的一个示例,并非意在暗示对本发明的使用范围或功能的局限。也不应将计算环境400解释为对示例性操作环境400中示出的任一组件或其组合具有任何依赖或需求。
本发明可以使用众多其它通用或专用计算系统环境或配置来操作。适合使用本发明的众所周知的计算系统环境和/或配置包括但不限于:个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型机、大型机、包括任一上述系统或设备的分布式计算环境等等。
参考图4,用于实现本发明的示例系统包括计算机410形式的通用计算装置。计算机410的组件可包括但不限于,处理单元420、系统存储器430以及将包括系统存储器的各类系统组件耦合至处理单元420的系统总线421。系统总线421可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线体系结构的局部总线。
计算机110通常包括各种计算机可读介质,并包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器430包括以易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM)431和随机存取存储器(RAM)432。基本输入/输出系统433(BIOS)包括如在启动时帮助在计算机410内的元件之间传输信息的基本例程,通常储存在ROM 431中。作为示例而非局限,图4示出了操作系统434、应用程序435、其它程序模块436和程序数据437。
计算机410也可包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅作示例,图4示出了对不可移动、非易失性磁介质进行读写的硬盘驱动器441、对可移动、非易失性磁盘452进行读写的磁盘驱动器451以及对可移动、非易失性光盘456进行读写的光盘驱动器455。硬盘驱动器441通常通过不可移动存储器接口,如接口440连接到系统总线421,磁盘驱动器451和光盘驱动器455通常通过可移动存储器接口,如接口450连接到系统总线421。
上文讨论并在图4示出的驱动器及其关联的计算机存储介质为计算机410提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图4中,示出硬盘驱动器441储存操作系统444、应用程序445、其它程序模块446和程序数据447。注意,这些组件可以与操作系统434、应用程序435、其它程序模块436和程序数据437相同,也可以与它们不同。用户可以通过输入设备,如键盘462和定位设备461(通常指鼠标、跟踪球或触摸板)向计算机410输入命令和信息。这些和其它输入设备通常通过耦合至系统总线的用户输入接口460连接至处理单元420,但是也可以通过其它接口和总线结构连接。监视器491或其它类型的显示设备也通过接口,如视频接口490连接至系统总线421。除监视器之外,计算机也可包括其它外围输出设备,如扬声器497和打印机496,它们通过输出外围接口495连接。
计算机410可以在使用到一个或多个远程计算机,如远程计算机480的逻辑连接的网络化环境中操作。远程计算机480可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有相对于计算机410所描述的元件,尽管在图4中仅示出了存储器存储设备481。图4描述的逻辑连接包括局域网(LAN)471和广域网(WAN)473,但也可包括其它网络。
当在LAN网络环境中使用时,计算机410通过网络接口或适配器470连接至LAN 471。当在WAN网络环境中使用时,计算机410可包括调制解调器472或用于通过WAN 473,如因特网建立通信的其它装置。调制解调器472可以是内置或外置的,通过用户输入接口460或其它适当的机制连接至系统总线421。在网络化环境中,相对于计算机410所描述的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图4示出远程应用程序485驻留在存储器设备481中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
如上所述,尽管结合各种计算设备描述了本发明的示例性实施例,然而基本概念可应用于任何计算设备或系统。此处所描述的各种技术可结合硬件或软件来实现,或在适当时以两者的组合来实现。由此,本发明的系统和方法或其某些方面或部分,可采用包含在诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码(即,指令)的形式,其中,当程序代码被加载到诸如计算机等机器中并由其执行时,该机器变为用于实施本发明的装置。在可编程计算机上的程序代码执行的情况下,计算装置一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。如有需要,程序可以用汇编语言或机器语言来实现。在任何情况下,语言可以是已编译或已解释语言,并与硬件实现相组合。
本发明的方法和装置也可通过以程序代码的形式实施的通信来实现,该程序代码通过某一传输介质来发送,如通过电线或电缆、通过光纤或通过任一其它形式的传输,其中,当程序代码由诸如EPROM、门阵列、可编程逻辑器件(PLD)、客户机计算机等的机器接收被装载到其中由其执行时,该机器变为用于实施本发明的装置。当在通用处理器上实现时,程序代码与处理器相结合,以提供用于调用本发明的功能的唯一装置。另外,结合本发明所使用的任何存储技术可以不变地成为硬件和软件的组合。
尽管结合各附图的较佳实施例描述了本发明,然而可以理解,可以在不脱离本发明的情况下使用其它类似的实施例或对所描述的实施例作出修改和添加,以执行本发明的相同功能。因此,本发明不应限于任何单个实施例,而是相反,应当依照所附权利要求书的宽度和范围来解释。

Claims (31)

1.一种用于传输不可知拉模式消息通信的系统,包括:
第一客户机,用于使用第一通信协议向第一适配器发送第一消息、使用所述第一通信协议从所述第一适配器接收指示所述第一消息被接收的响应、以及如果在预定时间段内未从所述适配器接收到响应,则使用所述第一通信协议向所述第一适配器重新发送所述第一消息;
第一适配器,用于使用所述第一通信协议接收第一消息并向所述第一客户机发送指示所述第一消息被接收的响应、基于所述第一消息生成第二消息、以及使用第二通信协议将所述第二消息发送到服务器引擎;
服务器引擎,用于基于所述第二消息执行至少一个指令;以及
消息存储,用于储存与所述第二消息相关联的数据。
2.如权利要求1所述的系统,其特征在于,还包括:
第二客户机,用于使用第三通信协议从第二适配器接收第三消息;以及
第二适配器,用于使用所述协议从所述服务器引擎接收第四消息、基于所述第四消息生成第三消息、以及使用第三通信协议将所述第三消息发送到第二客户机。
3.如权利要求1所述的系统,其特征在于,所述至少一个指令包括在存储设备中储存与所述第二消息相关联的数据的指令。
4.如权利要求3所述的系统,其特征在于,所述服务器引擎和所述适配器之一确定所述第二消息是否为已储存的重复消息,如果是,则拒绝所述第二消息;否则,确定与所述消息相关联的端点,并将所述消息储存在对应于所述端点的队列中。
5.如权利要求3所述的系统,其特征在于,所述存储设备包括与端点相关联的队列。
6.如权利要求5所述的系统,其特征在于,所述端点与所述第一客户机相关联。
7.如权利要求5所述的系统,其特征在于,所述端点与用户、客户机、以及不同于所述客户机的应用程序中的至少一个相关联。
8.如权利要求1所述的系统,其特征在于,所述至少一个指令包括从存储设备中检索附加消息,以及将所述附加消息发送到端点的指令。
9.如权利要求8所述的系统,其特征在于,所述端点与所述第一客户机相关联。
10.如权利要求8所述的系统,其特征在于,所述端点与用户、客户机以及不同于所述客户机的应用程序中的至少一个相关联。
11.如权利要求1所述的系统,其特征在于,所述第一客户机在发送所述第一消息之前生成所述第一消息,所述第一消息包括唯一消息标识符。
12.如权利要求1所述的系统,其特征在于,所述第一适配器或所述服务器引擎确定所接收的第一消息是否为已接收的消息的重复。
13.如权利要求1所述的系统,其特征在于,所述第一客户机设备生成对应于所述第一消息的第一客户机设备专用唯一标识符、储存所述第一客户机专用标识符、以及将所述客户机专用标识符连同所述第一消息一起发送给所述第一适配器。
14.如权利要求1所述的系统,其特征在于,所述响应包括第一客户机专用唯一消息标识符,并且所述第一客户机验证所接收到的第一客户机专用唯一标识符对应于储存的第一客户机专用标识符。
15.如权利要求1所述的系统,其特征在于,所述第一通信协议不同于所述第二通信协议。
16.如权利要求2所述的系统,其特征在于,所述第二通信协议不同于所述第三通信协议。
17.如权利要求2所述的系统,其特征在于,所述第三通信协议不同于所述第一通信协议。
18.一种用于传输不可知拉模式消息通信的方法,包括:
使用第一通信协议将第一消息从客户机发送到对应的适配器;
在所述适配器处接收所述第一消息;
使用所述第一通信协议将指示所述第一消息已被接收的响应从所述适配器发送到所述客户机;
在所述客户机处接收所述响应;
如果在预定时间段内未在所述客户机处接收到来自所述适配器的响应,则将所述第一消息从所述客户机重新发送到所述适配器;
基于所述第一消息在所述适配器处生成第二消息;
使用第二通信协议将所述第二消息从所述适配器发送到所述服务器引擎;以及
基于所述第二消息在所述服务器引擎处执行至少一个指令。
19.如权利要求18所述的方法,其特征在于,所述第一通信协议不同于所述第二通信协议。
20.如权利要求18所述的方法,其特征在于,执行所述至少一个指令包括在存储设备中储存与所述第二消息相关联的数据。
21.如权利要求20所述的方法,其特征在于,在所述存储设备中储存所述数据包括:
确定所述第二消息是否为已储存的重复消息;
如果重复,拒绝所述第二消息;
确定与所述消息相关联的端点;以及
在对应于所述端点的队列中储存所述消息。
22.如权利要求20所述的方法,其特征在于,所述存储设备包括与端点相关联的队列。
23.如权利要求22所述的方法,其特征在于,所述端点与所述客户机相关联。
24.如权利要求22所述的方法,其特征在于,所述端点与用户、客户机以及不同于所述客户机的应用程序中的至少一个相关联。
25.如权利要求18所述的方法,其特征在于,执行所述至少一个指令包括从存储设备检索附加消息,以及将所述附加消息发送到端点。
26.如权利要求25所述的方法,其特征在于,所述端点与所述客户机相关联。
27.如权利要求25所述的方法,其特征在于,所述端点与用户、客户机以及不同于所述客户机的应用程序中的至少一个相关联。
28.如权利要求18所述的方法,其特征在于,还包括在发送所述第一消息之前生成所述第一消息,所述第一消息包括唯一消息标识符。
29.如权利要求18所述的方法,其特征在于,还包括在所述适配器或所述服务器引擎处确定所接收到的第一消息是否为已接收的消息的重复。
30.如权利要求18所述的方法,其特征在于,将所述第一消息从所述客户机发送到所述适配器包括:
生成对应于所述第一消息的客户机专用唯一标识符;
储存所述客户机专用标识符;以及
将所述客户机专用标识符连同所述第一消息一起发送给所述适配器。
31.如权利要求18所述的方法,其特征在于,所述响应包括客户机专用唯一消息标识符,并且所述方法还包括验证所接收到的客户机专用标识符对应于储存的客户机专用标识符。
CNB2004800017100A 2003-12-31 2004-07-29 用于传输不可知拉模式消息通信服务的系统和方法 Expired - Fee Related CN100495379C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/750,191 US7870187B2 (en) 2003-12-31 2003-12-31 Transport agnostic pull mode messaging service
US10/750,191 2003-12-31

Publications (2)

Publication Number Publication Date
CN101044469A true CN101044469A (zh) 2007-09-26
CN100495379C CN100495379C (zh) 2009-06-03

Family

ID=34749319

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800017100A Expired - Fee Related CN100495379C (zh) 2003-12-31 2004-07-29 用于传输不可知拉模式消息通信服务的系统和方法

Country Status (11)

Country Link
US (1) US7870187B2 (zh)
EP (1) EP1716492A4 (zh)
JP (1) JP4519855B2 (zh)
KR (1) KR20060113358A (zh)
CN (1) CN100495379C (zh)
AU (1) AU2004281064A1 (zh)
BR (1) BRPI0406519A (zh)
CA (1) CA2507890A1 (zh)
MX (1) MXPA05007145A (zh)
RU (1) RU2463709C2 (zh)
WO (1) WO2005067435A2 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631043B2 (en) * 2004-12-03 2009-12-08 Research In Motion Limited Method and apparatus for efficiently managing “messages sent” file and resending of messages from mobile wireless communication device
EP1849089A2 (en) * 2005-01-12 2007-10-31 Haim Engler System and method for preventing unauthorized bridging to a computer network
US8819144B2 (en) 2005-10-14 2014-08-26 Blackberry Limited Method, device, software and graphical user interface for forwarding messages between message handling services
US8745140B2 (en) 2005-10-14 2014-06-03 Blackberry Limited System and method of handling messages for forwarding
EP1775971B1 (en) * 2005-10-14 2008-06-11 Research In Motion Limited System and method for forwarding messages
US7903639B2 (en) * 2006-03-24 2011-03-08 Cisco Technologies, Inc. System and method for selectively interfacing different types of network communications
US8121626B1 (en) * 2006-06-05 2012-02-21 Callwave, Inc. Method and systems for short message forwarding services
EP1903740A1 (en) * 2006-09-21 2008-03-26 Irdeto Access B.V. Method for implementing a state tracking mechanism in a communications session between a server and a client system
US8548447B1 (en) 2006-10-06 2013-10-01 Callwave Communications, Llc Methods and systems for blocking unwanted telecommunications
US7881243B2 (en) 2007-10-02 2011-02-01 Research In Motion Limited Method and apparatus capable of unified multi-transport message handling
US8849925B2 (en) * 2009-12-21 2014-09-30 Dexrex, Llc Systems and methods for capturing electronic messages
US8812034B2 (en) * 2011-09-30 2014-08-19 Qualcomm Incorporated Methods and apparatuses for management of SMS message identifications in a multi-mode device
US20140059108A1 (en) * 2012-08-27 2014-02-27 Microsoft Corporation Unified communication interface for distributed computing
US20160132933A1 (en) * 2013-05-28 2016-05-12 Sony Corporation Information processing devices, communication system, communication method, and program
US10275468B2 (en) * 2016-02-11 2019-04-30 Red Hat, Inc. Replication of data in a distributed file system using an arbiter
US10503724B2 (en) 2016-03-03 2019-12-10 Toyota Motor Engineering & Manufacturing North America, Inc. System and method for contact information access
US10582019B1 (en) * 2019-07-12 2020-03-03 Coupang Corp. Systems and methods for interfacing networks using a unified communication scheme
US11521356B2 (en) * 2019-10-10 2022-12-06 Meta Platforms Technologies, Llc Systems and methods for a shared interactive environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418835A (en) * 1992-10-26 1995-05-23 Motorola Inc. Method of delivering paging messages using voice mail
US6098097A (en) * 1998-05-14 2000-08-01 International Business Machines Corporation Controlling the installation and configuration of programs and components in a network of server and client computers through entries into a primary server computer
JP4206515B2 (ja) * 1998-06-15 2009-01-14 パナソニック株式会社 電子メール端末
US6999565B1 (en) * 2000-02-01 2006-02-14 Envoyworldwide, Inc. Multi-mode message routing and management
US7464178B2 (en) * 2001-05-23 2008-12-09 Markport Limited Open messaging gateway
US20030109271A1 (en) * 2001-11-16 2003-06-12 Lewis John Ervin Telecommunications system messaging infrastructure
US7657253B2 (en) * 2001-11-16 2010-02-02 At&T Mobility Ii Llc System and method for providing message notification
US7617328B2 (en) 2001-11-16 2009-11-10 At&T Mobility Ii Llc System for translation and communication of messaging protocols into a common protocol
US20030212738A1 (en) 2002-05-10 2003-11-13 Wookey Michael J. Remote services system message system to support redundancy of data flow
US7539291B2 (en) * 2002-10-16 2009-05-26 J2 Global Communications Enhancing messaging services using translation gateways
US7454785B2 (en) * 2002-12-19 2008-11-18 Avocent Huntsville Corporation Proxy method and system for secure wireless administration of managed entities
US20040121789A1 (en) * 2002-12-23 2004-06-24 Teddy Lindsey Method and apparatus for communicating information in a global distributed network
US20040230903A1 (en) * 2003-05-16 2004-11-18 Dethe Elza Method and system for enabling collaborative authoring of hierarchical documents with associated business logic
US7509431B2 (en) * 2004-11-17 2009-03-24 Cisco Technology, Inc. Performing message and transformation adapter functions in a network element on behalf of an application

Also Published As

Publication number Publication date
CA2507890A1 (en) 2005-06-30
KR20060113358A (ko) 2006-11-02
US7870187B2 (en) 2011-01-11
WO2005067435A3 (en) 2007-01-18
EP1716492A2 (en) 2006-11-02
RU2005120666A (ru) 2006-01-20
MXPA05007145A (es) 2005-11-01
US20050198389A1 (en) 2005-09-08
WO2005067435A2 (en) 2005-07-28
EP1716492A4 (en) 2011-10-26
CN100495379C (zh) 2009-06-03
BRPI0406519A (pt) 2005-12-13
RU2463709C2 (ru) 2012-10-10
JP4519855B2 (ja) 2010-08-04
JP2007526674A (ja) 2007-09-13
AU2004281064A1 (en) 2005-07-14

Similar Documents

Publication Publication Date Title
CN101044469A (zh) 传输不可知拉模式消息通信服务
US7801941B2 (en) Apparatus and method for exchanging data between two devices
US6925481B2 (en) Technique for enabling remote data access and manipulation from a pervasive device
CN109756508B (zh) 基于多协议接入区块链网络的消息代理方法及相关设备
US6598076B1 (en) Method and apparatus for electronically communicating an electronic message having an electronic attachment
US9325774B2 (en) Local agent for remote file access system
US7593991B2 (en) Systems and methods for processing attachments associated with electronic messages
US8452833B2 (en) Cached message distribution via HTTP redirects
US20120158836A1 (en) Automatic download of web content in response to an embedded link in an electronic mail message
KR101159364B1 (ko) 분산형 애플리케이션의 객체 지향 표현과 서비스 지향 표현 간의 매핑
EP1569086A2 (en) Printing using instant message protocol
CN1813451A (zh) 可动作型消息传递
US20120293826A1 (en) Systems and methods for providing multiple images
CN1832475A (zh) 通过请求-响应传输的可靠的请求-响应消息通信
JP2005202972A (ja) 移動装置メッセージング方法およびシステム
CN1842075A (zh) 使用子队列来增强本地消息处理
CN1829224A (zh) 使用遵从MAPI的邮件应用程序的Web服务处理
US20130219009A1 (en) Scalable data feed system
CN1992686A (zh) 用于传送状态通知的系统和方法
CN1614929A (zh) 通过启用web的设备启动基于服务器的内容分发
US8224771B2 (en) Resource sharing for document production
US20110213815A1 (en) Minimizing bandwidth in file path-centric protocol message
JP2001060157A (ja) アプリケーション間メッセージ交換方式
CN101106544A (zh) 一种在即时通信工具中处理离线数据的方法
US20050256927A1 (en) System and method for direct communication between automation appliances

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090603

Termination date: 20140729

EXPY Termination of patent right or utility model