CN107438982B - 多信道上的消息收发 - Google Patents

多信道上的消息收发 Download PDF

Info

Publication number
CN107438982B
CN107438982B CN201680019969.0A CN201680019969A CN107438982B CN 107438982 B CN107438982 B CN 107438982B CN 201680019969 A CN201680019969 A CN 201680019969A CN 107438982 B CN107438982 B CN 107438982B
Authority
CN
China
Prior art keywords
message
identifier
computing device
messaging
channel
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
CN201680019969.0A
Other languages
English (en)
Other versions
CN107438982A (zh
Inventor
A.罗尼
S.K.阿格雷瓦尔
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN107438982A publication Critical patent/CN107438982A/zh
Application granted granted Critical
Publication of CN107438982B publication Critical patent/CN107438982B/zh
Active 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/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • 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/48Message addressing, e.g. address format or anonymous messages, aliases
    • 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/212Monitoring or handling of messages using filtering or selective blocking
    • 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/214Monitoring or handling of messages using selective forwarding
    • 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/234Monitoring or handling of messages for tracking messages
    • 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/58Message adaptation for wireless communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

在一个实现方式中,一种计算机实现的方法包括在计算机系统处接收用于传送到客户端计算设备的消息;由所述计算机系统确定所述消息的唯一标识符;生成包括所述消息和所述唯一标识符的至少一部分的标识的消息;以及由所述计算机系统在第一通信信道和第二通信信道上向所述客户端计算设备发送所标识的消息,其中,所述第一通信信道与所述第二通信信道不同。

Description

多信道上的消息收发
相关申请的交叉引用
本申请要求享有申请日为2015年4月21日、题为“多信道上消息收发(MESSAGINGOVER MULTIPLE CHANNELS)”的美国临时申请第62/150,830号的优先权的权益,其全部内容通过引用合并于此。
技术领域
本文一般地描述涉及在计算设备上的消息收发(messaging)的技术。
背景技术
移动计算设备,诸如智能电话和蜂窝电话,可以通过通信网络发送和接收文本消息,诸如通过短消息服务(SMS)发送的文本消息和通过多媒体消息服务(MMS)发送的多媒体消息。例如,移动计算设备可以在公共交换电话网络(PSTN)上发送和接收文本消息,公共交换电话网络可以包括电话线/电缆、光纤电缆、蜂窝网络、其他无线传输链路(例如,通信卫星、微波传输链路)或其任何组合。在另一个示例中,移动计算设备可以在IP网络上发送和接收文本消息,IP网络可以包括因特网、移动数据网络、局域网(LAN)、广域网(WAN)、无线数据网络(例如,Wi-Fi、蓝牙)或其任何组合。
移动计算设备可以运行诸如移动应用(“移动应用”)的应用来发送和接收文本消息。例如,用户可以安装移动应用,通过IP网络连接在移动计算设备上发送和接收文本消息,这也可以被称为文本消息的“过顶(over the top)”(OTT)传输。在另一个示例中,移动设备可以运行应用,有时是工厂安装的应用,在PSTN连接上发送和接收文本消息。
发明内容
本文描述了可用于在多个通信信道(诸如PSTN和IP网络连接)上发送和接收消息(例如,文本消息)的设备、系统和技术。例如,可以在PSTN和IP网络上发送入站消息和出站消息,使得无论移动计算设备可用的连接类型如何,都能以少量的服务中断发送和接收消息。当诸如PSTN和IP网络的多个通信信道用于消息传输时,可以使用各种组件和技术,诸如将唯一标识符插入到消息中,以避免发送、接收和输出重复消息(duplicate messages)。
在一个实现方式中,一种计算机实现的方法,包括:在计算机系统处接收用于传送到客户端计算设备的消息;由计算机系统确定用于消息的唯一标识符;生成包括消息和唯一标识符的至少一部分的标识的消息;以及由计算机系统并且在第一通信信道和第二通信信道上向客户端计算设备发送所标识的消息,其中,第一通信信道与第二通信信道不同。
这样的计算机实现的方法可以可选地包括一个或多个以下特征,它们可以以各种子组合方式彼此组合。唯一标识符可以包括用于要接收所述消息的所述客户端计算设备的接收者标识符、用于发送所述消息的另一客户端计算设备的发送者标识符、以及对于与接收者标识符和发送者标识符相关联的消息唯一的交互标识符。接收者标识符和发送者标识符可以被包括在消息中,并且交互标识符可以作为唯一标识符的所述至少一部分被添加到所标识的消息中。消息可以是文本消息。第一通信信道可以是公共交换电话网络(PSTN),并且第二通信信道可以是因特网协议(IP)网络。所述计算机实现的方法还可以包括:在计算机系统处并且在第一通信信道上接收来自客户端计算设备的回复消息,该回复消息意图被传送到发送该消息的另一计算设备;在回复消息中标识回复唯一标识符;由计算机系统将回复唯一标识符存储在发送的消息的存储库中;由计算机系统生成包括去除了回复唯一标识符的至少一部分的回复消息的修改的回复消息;以及由计算机系统向另一计算设备发送修改的回复消息。所述计算机实现的方法还可以包括:在计算机系统处并且在第二通信信道上接收回复消息的第二实例;基于回复消息的第二实例中的唯一标识符与发送的消息的存储库的比较,确定回复消息的第二实例是复本(duplicate);以及由计算机系统并且响应于所述确定而丢弃回复消息的第二实例。
在另一个实现方式中,一种计算机实现的方法,可以包括:在客户端计算设备处并且第一通信信道上接收来自另一客户端计算设备的消息;由客户端计算设备标识消息中的唯一标识符;基于唯一标识符与唯一消息标识符的存储库的比较,由客户端计算设备确定消息不是复本;响应于所述确定,将唯一标识符存储在唯一消息标识符的存储库中;由客户端计算设备生成包括去除了唯一标识符的至少一部分的消息的修改的消息;以及使得修改的消息由客户端计算设备来呈现。
这样的计算机实现的方法可以可选地包括一个或多个以下特征,它们可以以各种子组合方式彼此组合。所述计算机实现的方法还可以包括:在客户端计算设备处并且在不同于第一通信信道的第二通信信道上接收消息的第二实例;基于消息的第二实例中的唯一标识符与唯一消息标识符的存储库的比较,确定消息的第二实例是消息的复本;以及由客户端计算设备并且响应于所述确定而丢弃消息的第二实例。唯一标识符可以是用于客户端计算设备的接收者标识符、用于另一客户端计算设备的发送者标识符、以及对于与接收者标识符和发送者标识符相关联的消息唯一的交互标识符。接收者标识符和发送者标识符可以被包括在消息中,并且可以至少交互标识符和发送者标识符被存储在唯一消息标识符的存储库中。消息可以是文本消息。第一通信信道可以是IP网络,并且第二通信信道包括PSTN。
在另一个实现方式中,一种用于在多个信道上发送消息的计算机系统,所述系统可以包括:一个或多个处理器;存储器,存储指令,所述指令在被执行时,使得处理器执行以下操作,包括:接收用于传送到客户端计算设备的消息;确定用于消息的唯一标识符;生成包括消息和唯一标识符的至少一部分的所标识的消息;以及在第一通信信道和第二通信信道上向客户端计算设备发送所标识的消息,其中,第一通信信道与第二通信信道不同。
这样的计算机实现的方法可以可选地包括一个或多个以下特征,它们可以以各种子组合方式彼此组合。唯一标识符可以是用于要接收消息的客户端计算设备的接收者标识符、用于发送消息的另一客户端计算设备的发送者标识符、以及对于与接收者标识符和发送者标识符相关联的消息唯一的交互标识符。接收者标识符和发送者标识符可以被包括在消息中,并且交互标识符作为唯一标识符的所述至少一部分被添加到所标识的消息中。消息可以是文本消息。第一通信信道可以是公共交换电话网(PSTN),并且第二通信信道包括因特网协议(IP)网络。所述操作还可以包括:在第一通信信道上接收来自客户端计算设备的回复消息,所述回复消息意图被传送到发送消息的另一计算设备;在回复消息中标识回复唯一标识符;将回复唯一标识符存储在发送的消息的存储库中;生成包括去除了回复唯一标识符的至少一部分的回复消息的修改的回复消息;以及将修改的回复消息发送到另一计算设备。所述操作还可以包括:在第二通信信道上接收回复消息的第二实例;基于回复消息的第二实例中的唯一标识符与发送的消息的存储库的比较,确定回复消息的第二实例是复本;以及响应于所述确定,丢弃回复消息的第二实例。
某些实现方式可以提供一个或多个优点。例如,在一个实现方式中,所公开的技术包括:在计算机系统处接收用于传送到客户端计算设备的消息;由计算机系统确定消息的唯一标识符;生成包括消息和唯一标识符的至少一部分的标识的消息;以及由计算机系统在第一通信信道和第二通信信道上向客户端计算设备发送所标识的消息,其中,第一通信信道与第二通信信道不同,因此,可以允许诸如移动计算设备的客户端计算设备可靠地发送和接收消息,而不管当前正在使用的网络连接(PSTN、IP网络)的类型。在一个示例中,根据另一实现方式,该优点通过以下所公开的技术实现,包括:在客户端计算设备处并且在第一通信信道上接收来自另一客户端计算设备的消息;由客户端计算设备标识消息中的唯一标识符;基于唯一标识符与唯一消息标识符的存储库的比较,由客户端计算设备确定消息不是复本;响应于所述确定,将唯一标识符存储在唯一消息标识符的存储库中;由客户端计算设备生成包括去除了唯一标识符的至少一部分的消息的修改的消息;以及使得修改的消息由客户端计算设备来呈现。
在另一示例中,所公开的技术允许移动计算设备同时使用PSTN和IP网络来发送和接收消息,而与通信另一端的另一移动计算设备正使用的消息收发应用无关。例如,一些能够使用全部PSTN连接和IP连接发送消息的应用在发送者设备和接收者设备都使用相同的应用时,才能使用这两种类型的连接。这样的配置可能限制可以在PSTN和IP连接上从其接收消息和向其发送消息的其他设备的集合。相比之下,本文中公开的技术允许移动计算设备在PSTN和IP连接上向任何其他移动设备发送和从其接收消息,而不管其他设备上安装和运行的消息收发应用如何。
在另一示例中,在一个实现方式中,所公开的技术包括:在计算机系统处并且在第二通信信道上接收回复消息的第二实例;基于回复消息的第二实例中的唯一标识符与发送的消息的存储库的比较,确定回复消息的第二实例是复本;以及响应于所述确定,丢弃回复消息的第二实例,因此,当在诸如PSTN和IP网络的通信信道上都发送消息时可以消除消息的重复传输、传送和输出(例如,显示、音频输出)。这可以允许PSTN和IP网络都用于消息传输,而不会影响与移动计算设备上的消息收发特征相关联的完整性、可靠性和用户体验。
在附图和下面的描述中阐述了一个或多个实施例的细节。其他特征和优点将从说明书和附图以及权利要求书中变得清晰。
附图说明
图1A-1B是描绘在多个通信信道上在计算设备之间的消息的示例的出站传输和入站传输的概念图。
图2描绘了用于在多个通信信道上发送消息的示例系统。
图3A-3G描绘使用图2中描述的示例系统在多个通信信道上进行输入消息的传输。
图4A-4D描绘使用图2中描述的示例系统在多个通信信道上进行出站消息的传输。
图5A-5B是用于使用多个信道发送和接收消息的示例技术的流程图。
图6是可以用于实现在本文中描述的系统和方法的示例计算设备的框图。
各附图中相似的附图标记表示相似的元件。
具体实施方式
本文一般地描述了通过移动计算设备(例如,智能电话、蜂窝电话、可穿戴设备、平板计算设备)在多个通信信道(诸如PSTN和IP网络信道)上发送和接收消息(例如,SMS、MMS)的技术。如本文中所讨论的,可以使用各种技术来确保在多个通信信道上传送消息,并且诸如通过使用随消息一起发送的唯一标识符,避免在使用多个通信信道时传送和/或呈现重复消息。
例如,用户通常希望快速可靠地接收消息(例如,SMS、MMS),而不管他们的移动计算设备是否例如1)连接到具有数据访问的移动网络,2)在小区数据关闭的情况下漫游,或3)未连接到蜂窝网络(示例PSTN网络),但在Wi-Fi上连接到因特网。由于对于如何路由消息和围绕消息传送(message delivery)而存在的生态系统(包括多个中间商公司)的固有约束,传统PSTN上发送消息可能会限制消息传送的可靠性、覆盖面和性能。例如,具有上述场景#3中的设备的用户(仅在Wi-Fi上连接)将不能够接收在PSTN上发送的消息。
类似地,虽然当PSTN通信信道不可用时在IP网络上过顶发送消息可能是有用的,但是使用IP网络发送消息不解决问题。相反,与基于PSTN的消息传输一样,基于IP网络的消息传输在没有数据连接的情况下是不可用的。例如,在IP网络上发送的消息不会使其成为上述场景#2(小区数据关闭的情况下漫游)中的接收移动设备。
本文描述了以下述方式经由诸如PSTN和IP网络信道的多个通信信道发送消息的框架和技术,所述方式即:选择用于发送消息的一个或多个适当信道,并去重复(de-duplicate)消息,使得相同消息的多个实例当在多个信道上发送时不被传送/输出。对于包括上面强调的所有三种类型的场景#1-3(连接到具有数据访问的移动网络、在小区数据关闭情况下的漫游、仅在Wi-Fi上连接),这种使用多个通信信道进行消息传送可以比任一单独的形式更快且更可靠。
可以通过使用可以包括在消息中的唯一标识符,在全部IP和多个PSTN网络上在客户端计算设备(例如,移动计算设备)之间发送消息。例如,发送客户端设备和/或消息收发系统(远离处理消息传输的至少一部分的客户端设备)可以将唯一的标识符插入到消息中。接收客户端设备因而可以在向用户显示入站消息之前过滤所有入站消息,并且可以剥离消息中所包含的标识符,丢弃与先前见到的标识符相匹配的任何消息。
所使用的标识符可以单独地或与其他消息信息组合是唯一的。例如,标识符可以是全球唯一的、发送者唯一的、接收者唯一的、发送者/接收者对唯一的、基于试探(heuristics)(例如,内容、时间戳)唯一的、和/或它们的任何组合。例如,标识符可以对发送者和接收者之间发送的消息的其他标识符是唯一的,并且发送者/接收者/标识符三元组可用于过滤消息。
出站消息可以在多个通信信道(诸如IP和PSTN)上传送到服务器。超时(timeout)可用于首先在主信道上发送消息,当主信道不可用时,默认转到(default to)辅信道作为消息传输的备份。出站消息也可以使用标识符来消除重复的消息。例如,可以使用基于试探方案来消除基于例如发送者/接收者/内容/时间戳组合的重复消息。
在PSTN上发送的出站业务可以在特定服务器上进行归属路由(home-routed),以允许“来源(from)”号码被重写,以维持使用两个不同的订户简档在两个不同的蜂窝网络上发送的消息之间的一致性。这可以帮助避免与跨多个运营商网络传送消息相关的问题,同时维持一致的号码。归属路由PSTN发送的消息可以允许用户在不同的运营商之间无缝地移动,这可以增加消息收发的所及范围(reach)。
如上所述,可以通过这些技术提供各种优点。例如,随消息一起使用标识符可以减少显示的复本的数量。在另一个示例中,归属路由消息可以允许多个PSTN网络被无缝地使用。
图1A-1B是描绘在多个通信信道上在计算设备102和104之间的消息的示例出站传输和入站传输的概念图。示例计算设备102和104可以是各种适当的计算设备中的任一种,诸如智能电话、蜂窝电话、平板计算设备、可穿戴计算设备、嵌入式计算设备和/或非移动计算设备。所示出的示例通信信道包括PSTN 106和IP网络108。图1A-1B描绘的示例可以应用于其他通信信道,包括PSTN 106和IP网络108的子集。
图1A描绘了跨越多个通信信道106和108的消息(例如,SMS、MMS、经由其他消息收发协议发送的消息)到计算设备104的入站传输。该示例消息由计算设备102诸如通过计算设备102正在使用的PSTN或IP网络连接而发送,并被路由到与计算设备104相关联的多信道消息收发系统110。例如,与计算设备104相关联的电信运营商(未示出)可以被配置为将用于计算设备104的消息路由到多信道消息收发系统110,多信道消息收发系统110可以在多个通信信道106和108上处理消息并将其传送到计算设备104。
多信道消息收发系统110接收消息并将标识符(ID)插入到消息中,然后将消息与标识符在通信信道106和108中的一个或两个上发送。如上所述,标识符独立地或与作为消息的一部分的其他信息(例如,发送者标识符(电话号码、用户ID、电子邮件地址)、接收者标识符、时间戳、内容)组合,可以提供消息的唯一标识,使得在消息被重复地传送到计算设备104的情况下,可以标识和移除复本。多信道消息收发系统110在某些情况下可以首先尝试在通信信道106和108中的一个上发送具有标识符的消息,然后再尝试在另一个信道上发送消息。在一些情况下,可以跨信道106和108两者同时或顺序地发送消息。
在所描绘的示例中,计算设备104可以包括经由多个通信信道106和108的一个或多个网络连接。所描述的使用多信道消息收发系统110和计算设备104上的多信道消息收发子系统112的技术可以允许消息到达设备104,而不管设备104正在使用通信信道106和108中的哪一个。
计算设备104包括多信道消息收发子系统112,其被编程为处理在通信信道106和108中的任一个或两者上的消息的接收、处理和输出。消息收发子系统112可以使用标识符消除收到的重复消息。例如,在接收消息的第一个实例中,消息收发子系统112可以从消息中剥离标识符,将消息插入到设备104上的消息的本地高速缓存中,并且可以以日志记录(log)消息的唯一标识符(例如,单独的ID、发送者/接收者/ID三元组、ID/试探/发送者三元组)。在消息的第二和此后的实例中,消息收发子系统112可以针对先前接收到的消息的唯一标识符的日志,检查消息的唯一标识符,并且当发现匹配时,可以从设备104删除/去除消息的新接收的实例,或者存储消息的新接收的实例,但是不向用户呈现该消息。
消息收发子系统112可以包括设备104上的无线电层、设备104上的平台层、安装在设备104上的消息收发账户应用、以及安装在设备104上的消息收发应用中的一个或多个。这样的组件可以协同工作以无缝地整合和过滤在多个通信信道106和108上接收的重复消息,如以下关于图2-4所描述的。
一旦将消息插入到设备104上的消息的本地存储库中,在设备104上运行的一个或多个应用和/或服务可以向设备104的用户报警(alert)和/或向设备104的用户输出关于消息的信息。
图1B描绘了由计算设备104在通信信道106和108中的一个或多个上进行的消息的出站传输。通过设备104输入的新消息(例如,通过具有触摸屏或麦克风的用户输入)被消息收发子系统112接收,消息收发子系统112处理在通信信道106和108中的一个或多个上处理消息的传输。在一些实例中,消息收发子系统112可以首先尝试在信道106/108之一上发送消息,如果不成功,则可以尝试在另一信道上发送消息。在其他实例中,消息收发子系统112可以跨信道106和108两者同时或顺序地发送消息。
对于出站消息,消息收发子系统112可以可选地在信道106和108上发送之前将标识符插入到消息中。标识符(ID)可以类似于用于入站消息并且如上关于图1A所描述的标识符。例如,标识符可以是单独地或与消息中的其他信息组合地提供消息的唯一标识的标识符。在一些实例中,可以通过作为消息的一部分的试探(例如,时间戳、内容)来提供标识符。
多信道消息收发系统110可以接收消息,并且类似于消息收发子系统112如何处理入站消息(上面关于图1A所述),可以存储唯一地标识消息的信息(例如,仅ID、发送者/接收者/ID三元组、试探),可以从消息中移除任何标识符,并且可以将消息发送到计算设备102。
图1B中描述的出站消息收发系统可以允许设备104发送出站消息,而不管通信信道106和108中的哪一个对于设备104来说是可用的。
图2描绘了用于在多个通信信道上发送消息的示例系统200。示例系统200包括消息收发系统202、多信道消息收发管理系统204、示例第一运营商206和第二运营商208、以及客户端设备210。示例系统200可以实现上面关于图1A-1B所述的入站和出站消息。
消息收发系统202被编程为管理在多个通信信道(诸如PSTN和IP网络)上的发送和接收消息。消息收发系统202包括消息网关212,其处理与运营商206-208的输入/输出消息交换(在PSTN信道上的消息传输);推送消息通信系统214,其处理与客户端计算设备的所有推送消息通信(在IP网络上的消息传输);语音后端216;以及包括要由系统202执行的任务队列的任务队列系统218。
多信道消息收发管理系统204包括消息收发服务器系统220,其包括用于消息路由的多信道特定逻辑和存储通信信道标识符(例如,GAIA到电话号码映射)之间的映射的账户管理模块222。消息收发系统202和多信道消息收发管理系统204可以是相同或分开的系统的一部分。例如,消息收发系统202和多信道消息收发管理系统204两者都可以是上面关于图1A-1B描述的多信道消息收发系统110的一部分。
第一运营商206和第二运营商208可以是提供对PSTN的访问的电信运营商。在所描绘的示例中,第一运营商206可以是消息收发系统202和多信道消息收发管理系统204的主要运营商,并且可以对于使用消息收发系统202和多信道消息收发管理系统204的服务的客户端设备(诸如客户端设备210)的电话号码公开可见。示例第二运营商206可以是多信道消息收发系统204的客户端设备诸如通过使用不同的SIM简档可以漫游的另一网络的一部分。
客户端设备210可以是各种适当的设备中的任何一个,诸如计算设备104。示例客户端设备210包括:无线电层224,在无线PSTN网络上处理发送/接收比特;平台层226,其保持应用可用的系统API以及消息收发应用可以从其读取和对其写入的消息收发数据库(例如,SMS数据库);多信道账户管理应用228,可以是具有特殊系统API许可的运营商应用;以及消息收发应用230,可以提供用户界面,用户可以通过该界面在客户端设备上发送、接收和输出消息。
关于图3A-3G和图4A-4D描绘并描述了图2中描绘的示例系统200的组件在多信道通信网络上发送和接收消息的交互。
图3A-3G描绘了使用图2中描绘的示例系统200在多个通信信道上进行输入消息300的传输。在图3A-3G中描述的步骤对应于上面关于图1A描述的输入消息300传送。
参考图3A,发送者设备240(其他客户端计算设备,诸如移动计算设备)的用户输入消息300并且点击发送,这导致消息300(例如,SMS消息、MMS消息)由发送者设备240发送到与发送者设备相关联的第二运营商(步骤A,302)。消息300可以包括接收者和发送者的标识符,诸如分别与客户端设备210和发送者设备240相关联的电话号码。接收者和发送者的其他标识符也可以在消息300中使用,诸如电子邮件地址、账户标识符和/或其他适当的标识符。消息300还可以包括有效载荷(内容),诸如文本、图像、视频文件、音频文件和/或其他多媒体文件。
发送者的运营商(第二运营商208)在中央数据库中查找接收者(示例客户端设备210)的号码,并确定接收者的号码与第一运营商206相关联,这导致第二运营商208转发消息300到第一运营商206(步骤B,304)。第一运营商206标识出接收者号码与消息收发系统202相关联,并将消息300传送到消息网关212(步骤C,306)。第一运营商206可以参考标识由第一运营商206服务的哪些号码与消息收发系统202相关联(注册)的数据库。消息收发系统202的消息网关212可以将消息300传递到语音后端216(步骤D,308),其可以确定接收者是多信道消息收发用户(与多信道消息收发系统202相关联/注册),并且可以将消息300传递到多信道消息收发管理系统204的消息收发服务器系统220(步骤E,310)。例如,当在客户端设备210上安装/启用/激活多信道账户管理应用228时,客户端设备210可以与多信道消息收发系统204相关联(相反地,如果在客户端设备210上卸载/禁用/解除激活多信道账户管理应用228,则客户端设备210可以与多信道消息收发系统202解除关联)。
步骤A-E(302-310)涵盖消息300从不与多信道消息收发管理系统204相关联的设备240到多信道消息收发管理系统204的传送。由与多信道消息收发管理系统204相关联的设备发送的消息可以被传送到多信道消息收发管理系统204,如下面关于图4A-4D所述。
消息收发服务器系统220可以与账户管理组件222进行双重检查,以确保接收者与多信道消息收发管理系统204相关联(步骤F,312),并且可以将标识符插入/添加到消息300,如被插入到消息300中的ID 314所示。如上所述,标识符(ID 314)可以是全局唯一的(例如,在所有发送的消息中是唯一的)和/或本地唯一的(例如,关于对于发送者240和接收者设备210之间的消息唯一、关于多信道消息收发管理系统204唯一)。例如,ID 314可以是关于在发送者240和接收者设备210之间发送的消息来唯一地标识消息300的标识符,并且当与这些设备210、240的电话号码组合时可以是对于消息300全局唯一的标识符。
消息收发服务器系统220可以将具有ID 314的消息300的副本316发送到任务队列系统218(步骤G,318),其可以将副本316插入消息队列320尝试传送,例如,如果在第二示例通信信道(IP)中的传送在阈值时间段(例如,1秒、2秒、5秒、10秒、1分钟)内不成功,则在第一示例通信信道(PSTN)上传送。任务队列系统218在第一通信信道和第二通信信道上的其他传送方案也是可能的(如上所述),例如首先尝试在PSTN信道上进行传送,并且如果在阈值时段内不成功,则在IP信道上传送和/或同时在PSTN和IP信道两者上传送。其他传输方案也是可能的。
参考图3B,为了在IP通信信道上传送消息300,消息收发服务器系统202可以查找与接收方电话号码相关联的IP标识符(例如,GCM ID)(步骤H,322),其可以被提供给推送消息通信系统214(步骤I,324)并且用于在IP网络328上向客户端设备210通知存在用于设备210的消息(步骤J,326)。在消息316(具有ID 314)足够小以作为通知的一部分被传送(例如,小于阈值大小)的情况下,消息316可以被推送消息通信系统214直接推送到客户端设备210的平台层226(步骤I-J,324-326)。
在消息3316太大而不能被直接推送的情况下,平台层226可以向多信道账户管理应用228提供警报(步骤K,330),这可以导致多信道账户管理应用228在IP网络332上从消息收发服务器系统204取回(下拉(pull down))消息316(步骤L,334)。IP网络328可以与IP网络332相同或不同。一旦在IP通信信道(IP网络328和/或332)上取回消息316,就可以在平台层226中将消息316插入到消息数据库中(步骤M,336)。
参考图3C,一旦消息316已被插入到客户端设备210的平台层226中,多信道账户管理应用228就可以通知消息收发服务器系统220已经接收到消息316(步骤N,338),并且消息收发服务器系统220可以从任务队列系统218中的队列320中删除消息316(步骤O,340)。
参考图3D,在客户端设备210不具有IP网络328上的连接(如步骤J(326)故障所示)的实例下,与队列系统218中的未被删除的消息316相关联的任务超时,并在PSTN通信信道上传送回到消息收发服务器系统220进行(同步)传送(步骤P,342)。消息收发服务器系统220将消息316(具有ID)传送到消息收发网关212,用于在PSTN通信信道上进行传输(步骤Q,344)。
参考图3E,消息收发网关212尝试以“事务模式”经由第一运营商206传送消息316,其可以通知消息收发系统202传送是否失败(例如,如果客户端设备210未连接到第一运营商206)。例如,消息收发网关212可以将消息316发送到第一运营商206(步骤R,346),当消息316未在PSTN通信信道350上传送到客户端设备210时,可以对其进行通知(步骤S,348)。传送失败可以被重新发送到消息收发网关212(步骤T,352),其可以向多信道消息收发管理系统204提供失败的通知(步骤U,354)。然后,消息收发系统202可以尝试经由第二运营商208传送消息316(步骤V,356),其假设客户端设备210连接到PSTN通信信道350,经由事务模式使消息316被成功传送到客户端设备210及其无线电层224(步骤W,358)。
参考图3F,如果所有可用网络的事务模式失败(例如,第二运营商208也故障),则多信道消息收发管理系统204可以指示消息网关212(步骤X,359)将消息316发送到所有运营商206和208和/或未示出以用于没有传送收件人的传送的其他运营商(步骤Y,360)。在这种情况下,其他运营商(运营商206、208和/或未示出的其他运营商)仍然可以尝试在X时段以事务模式传送消息316(例如,X个小时、天或其他单位的时间,其中X取决于运营商),其可以导致重复的消息被传送到客户端设备210。然后,运营商(运营商206、208和/或未示出的其他运营商)可以尝试将消息316在PSTN 350上传送到客户端设备210(步骤Z,362)。
参考图3G,一旦消息316进入客户端设备210,就将其在平台层226中插入到消息数据库中(步骤AA,364),并且一旦插入平台层226(无论其经由IP还是PSTN传送到达),消息316就可以由消息收发应用230拾取(步骤BB,366)。多信道账户管理应用228和/或消息收发应用230可以负责跟踪消息的唯一标识符,从平台层226中的消息数据库中移除/删除复本,以及剥离已经被存储的任何标识符(ID)插入到消息316中,使得消息仅被呈现由发送者240发送的原始消息的内容(并且没有由消息收发服务器系统220插入的标识符)。例如,消息收发应用230被描绘为呈现由发送者240最初发送的消息300(无ID)。
图4A-4D示出了使用图2和3A-3G中描述的示例系统在多个通信信道上发送出站消息400。图4A-4D对描述的步骤应于上面关于图1B描述的出站消息400传送。
参考图4A,用户将消息400输入到消息收发应用230(例如,键入文本、标识接收者、按下发送),其将消息400写入平台层230(步骤A,402)。多信道账户管理应用228可以拦截来自平台层226的所有输出消息,并且可以首先尝试在IP通信信道332上发送它们(步骤B,404)。为此,多信道账户管理应用228可以尝试在IP网络连接332上将消息400传送到消息收发服务器系统220(步骤C,406)。
参考图4B,如果多信道账户管理应用(228)向消息收发服务器系统220传送消息400失败,则多信道账户管理应用228可以将消息400写回到平台层226(并且可以包括备注,以防止将产生循环的再次拦截消息)(步骤D,408),平台层226可以将消息400经由无线电层224(步骤E,410)和在有效的PSTN连接350上(步骤F,412)推出。诸如第二运营商208的运营商合作伙伴可以将消息400标识为多信道消息,并且可以将消息400路由回到消息收发系统202,以经由消息网关212进行处理(步骤G,414)。一旦在消息网关212处接收到消息400,则将其再次传送到语音后端(步骤H,416),并传送到消息收发服务器系统220(步骤I,418)。
参考图4C,一旦消息收发服务器系统220接收到消息400,它可以与账户管理组件222一起确定接收者是否与多信道消息收发管理系统204相关联(步骤J,420)。接收者可以以各种方式登记,诸如通过在接收者设备上安装/启用/激活多信道账户管理应用。例如,可以基于在客户端设备210上安装/启用/激活多信道账户管理应用228,将客户端设备210确定为与多信道消息收发管理系统204相关联。类似地,所示的示例接收者客户端设备422包括安装/启用/激活的类似的多信道账户管理应用424以及消息收发应用426(类似于消息收发应用230)、平台层428(类似于平台层226)和无线电层430(类似于无线电层224)。如果接收者设备422被确定为与多信道消息收发管理系统204相关联,则可以根据上面关于图3A-3G描述的入站消息传送步骤将消息400发送到接收者客户端设备422(步骤K,432)。
参考图4D,如果接收者设备422被确定为不与多信道消息收发管理系统204相关联(例如,接收者客户端设备422不包括安装/启用/激活的多信道账户管理应用),则消息服务器系统220可以向消息网关212提供消息400(步骤L,434)。如果源号码是暗号码(即消息400由多信道消息收发管理系统204经由PSTN在第二运营商208上从客户端设备210接收到),则消息收发服务器系统220可以将消息400中的源号码改变为轻号码,然后将其传送到消息网关212。为了避免/最小化垃圾消息过滤器的问题,出站消息可以被传送到与发送消息400的客户端设备210相关联的运营商(第一运营商206-步骤M,436),以便源号码匹配传送它的运营商。第一运营商206可以将消息400传送到接收者的运营商,在本示例中,该运营商是第二运营商208(步骤N,438),其可以将消息400传送到接收者设备422(步骤O,440)。
虽然没有关于图4A-4D描述,但是可以将标识符插入到出站消息中,以确保多信道传送和删除复本。例如,多信道账户管理应用228和/或消息收发应用230可将标识符插入到消息400中,消息收发服务器系统220和多信道消息收发管理系统204可以使用该标识符来消除经由消息传送服务器系统220发送到接收者设备422的重复消息。例如,消息收发服务器系统220可以以日志记录所接收消息的唯一标识符(例如,发送者/接收者/ID三元组、试探标识符),可以基于已经接收到的消息的日志记录的标识符删除重复的消息,并且可以在将消息传送到接收者设备422之前从消息中剥离插入的标识符。
图5A-5B是使用诸如IP和PSTN通信信道的多个信道来发送和接收消息(诸如SMS和MMS消息)的示例技术500的流程图。示例技术500的部分被描绘为由发送者设备502、多信道消息收发系统504和接收者设备506执行。发送者设备502可以类似于上面关于图1-4描述的设备102、240和/或422。多信道消息收发系统504可以类似于上面关于图1-4描述的多信道消息收发系统110和/或202/204。接收者设备506可以类似于上面关于图1-4描述的设备104和/或204。在该示例中,接收者设备506可以被配置为发送和接收多信道消息,并且可以与多信道消息收发系统504相关联。发送者设备502可以或可以不能够与多信道消息收发系统504执行相同和/或与多信道消息收发系统504相关联。
发送者设备502可以发送消息,诸如SMS或MMS消息(508)。多信道消息收发系统504可以接收消息(510)并且可以确定接收者是否是能够接收多信道消息的多信道消息收发设备(512)。响应于确定接收者设备506是多信道消息收发设备,多信道消息收发系统504可以确定消息的标识符(514),并且可以通过将标识符插入/附加/连接到消息来生成标识的消息(516)。例如,上面关于图3A描述的步骤A-G(302-318)提供由消息服务器系统200接收的消息300、以及用于生成要发送到客户端设备210的所标识的消息316的ID 314的示例。
多信道消息收发系统504可以在PSTN 520和IP 522通信信道中的一个或两个上发送所标识的消息(518)。例如,在某些情况下,多信道消息收发系统504可尝试首先在IP信道522上然后在PSTN信道520上发送所标识的消息。在其他实例下,多信道消息收发系统504可以进行相反的处理,首先尝试在PSTN信道520上发送,然后在IP信道522上发送。在其他实例中,多信道消息收发系统504可以同时在PSTN信道520和IP信道522两者上进行发送。以上关于图3B-3F中描绘的步骤H-Z(322-362)描述了在不同的信道520-522上发送消息的示例。
接收者设备506可以接收所标识的消息(524),可以选择包含在消息中的标识符(526),并且可以基于标识符来确定消息是否是重复的(528)。例如,接收者设备506可以存储并对接收到的消息的本地数据库的标识符进行检查,并且如果标识符不存在于本地存储库/数据库中,则接收者设备506可以确定该消息不是复本。当消息不是复本时,标识符可以存储在存储库/数据库中(530),并且可以从消息中删除标识符(532)。在标识符被去除的情况下,消息可以由接收者设备506输出(536)。以上关于图3G所示的步骤AA-BB来描述检查消息是否重复、去除标识符和输出消息的示例(364-366)。
接收者设备506可以接收消息的第二实例(536),可以从消息的第二实例中选择标识符,并且可以使用标识符来确定第二实例是否是复本(538)。在一些实例中,所标识的消息可以在PSTN信道520和/或IP信道522上多次传送到接收者设备506。可以参考所接收的消息的数据库/存储库,以确定第二实例是否是复本。响应于确定第二实例是复本,可以丢弃消息的第二实例(540)。丢弃第二实例可以包括例如在消息收发应用230被警告消息的第二实例之前,从平台层226中的消息数据库中删除消息的第二实例,以便避免消息收发应用230多次输出消息的第二实例。
参考图5B,接收者设备506可以接收回复消息(542),这可以使接收者设备506确定消息的标识符(544),并生成包含标识符的所标识的回复消息546(546)。例如,客户端设备210上的多信道账户管理应用228和/或消息收发应用230可以确定所接收的消息的标识符。在一些实例中,客户端设备210可能不会生成或使用唯一的标识符,直到在初始发送具有传送确认的消息的一个或多个步骤失败之后,诸如在事务模式中在IP网络332和/或PSTN上的传输失败。接收者设备506可以在PSTN信道520和/或IP信道522上发送回复消息(548)。例如,图4A-4B描绘了在IP网络332和/或PSTN信道350上将消息发送到消息收发服务器系统220的步骤A-1(402-418)。
多信道消息收发系统504可以接收回复消息(550),并且如果消息中包含标识符,则可以在回复消息中选择标识符(552),使用标识符来确定消息是否是复本(554),如果消息不是复本,则将标识符存储在本地数据库/存储库中(556),可以从回复消息中去除标识符(558),并且可以发送回复消息(不带标识符)到设备502(560)。例如,图4C-4D示出了用于将这样的回复消息发送到客户端设备422的步骤J-O(420-440)。设备502(在此实例下作为接收者设备)接收回复消息(标识符已经被系统504去除)(562)并输出消息(564)。
多信道消息收发系统504可以接收回复消息的第二实例(566),并且可以使用包含在回复消息的第二实例中的标识符来确定它是否是复本(568)。如果消息的第二实例是复本,则可以由系统504丢弃该消息,而不将其发送到设备502(570)。
可以与步骤508-540(设备506在多个信道上接收来自系统504的消息)分开地和/或以不同的顺序(例如,可以在接收步骤之前执行发送步骤)执行步骤542-570(设备506在多个信道上发送消息到系统504)。尽管未示出,但是系统504可以另外在多个信道上与设备502交互,这可以涉及与关于系统504和设备506之间的消息的发送和接收所描述的步骤相似的步骤。
图6是可以用于将本文中描述的系统和方法实现为客户端或服务器或多个服务器的计算设备600和650的框图。计算设备600旨在表示各种形式的数字计算机,例如膝上型计算机、桌面型计算机、工作站、个人数字助理、服务器、刀片服务器、大型机和其他合适的计算机。计算设备650旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话和其他类似的计算设备。另外,计算设备600或650可以包括通用串行总线(USB)闪存驱动器。USB闪存驱动器可存储操作系统和其他应用。USB闪存驱动器可以包括输入/输出组件,诸如可以插入另一计算设备的USB端口的无线发送器或USB连接器。这里所示的组件、它们的连接和关系以及它们的功能仅仅是示例性的,并不意味着限制在本文中描述和/或要求保护的实现方式。
计算设备600包括处理器602、存储器604、存储设备606、连接到存储器604和高速扩展端口610的高速接口608、以及连接到低速总线614和存储设备606的低速接口612。组件602、604、606、608、610和612中的每一个使用各种总线互连,并且可以安装在公共主板上或以其他适当方式安装。处理器602可以处理在计算设备600内执行的指令,包括存储在存储器604或存储设备606上的指令,以在诸如耦合到高速接口608的显示器616的外部输入/输出设备上显示GUI的图形信息。在其他实现方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和多个类型的存储器。此外,可以连接多个计算设备600,每个设备提供必要操作的一部分(例如,作为服务器组,一组刀片服务器或多处理器系统)。
存储器604在计算设备600内存储信息。在一个实现方式中,存储器604是一个或多个易失性存储器单元。在另一实现方式中,存储器604是一个或多个非易失性存储器单元。存储器604还可以是另一种形式的计算机可读介质,诸如磁盘或光盘。
存储设备606能够为计算设备600提供大容量存储。在其他实现方式中,存储设备606可以是或包含计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似的固态存储器设备,或包括存储区域网络中的设备的设备阵列或其他配置。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,当该指令被执行时,执行一个或多个方法,诸如上述的方法。信息载体是诸如存储器604、存储设备606或处理器602上的存储器的计算机或机器可读介质。
高速控制器608管理计算设备600的带宽密集型操作,而低速控制器612管理较低带宽密集型操作。功能的这种分配仅是示例的。在一个实现方式中,高速控制器608耦合到存储器604、显示器616(例如,通过图形处理器或加速器)以及可接受各种扩展卡(未示出)的高速扩展端口610。在该实现方式中,低速控制器612耦合到存储设备606和低速扩展端口614。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、指示设备、扫描仪或诸如交换机或路由器的网络设备。
计算设备600可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器620,或者在一组这样的服务器中多次实现。它也可以被实现为机架服务器系统624的一部分。此外,其可以在诸如膝上型计算机622的个人计算机中实现。替代地,来自计算设备600的组件可以与移动设备中的其他组件(未示出)(诸如设备650)组合。这些设备中的每一个可以包含计算设备600、650中的一个或多个,并且整个系统可以由彼此通信的多个计算设备600、650组成。
计算设备650包括处理器652、存储器664、诸如显示器654、通信接口666和收发器668的输入/输出设备以及其他组件。设备650还可以提供有诸如微驱动器或其他设备的存储设备,以提供额外的存储。组件650、652、664、654、666和668中的每一个使用各种总线互连,并且若干组件可以安装在公共主板上或以其他适当方式安装。
处理器652可以执行计算设备650内的指令,包括存储在存储器664中的指令。处理器可以被实现为包括单独的和多个模拟和数字处理器的芯片的芯片组。另外,可以使用多个架构中的任何一个来实现处理器。例如,处理器410可以是CISC(复杂指令集计算机)处理器、RISC(精简指令集计算机)处理器或MISC(最小指令集计算机)处理器。处理器可以例如提供用于设备650的其他组件的协调,诸如用户接口的控制、由设备650运行的应用以及由设备650进行的无线通信。
处理器652可以通过耦合到显示器654的控制接口658和显示接口656与用户进行通信。显示器654可以是例如TFT(薄膜晶体管液晶显示器)显示器或OLED(有机发光二极管)显示器或其他适当的显示技术。显示接口656可以包括用于驱动显示器654向用户呈现图形和其他信息的适当电路。控制接口658可以接收来自用户的命令并将其转换以提交给处理器652。另外,可以提供外部接口662与处理器652通信,以便能够与其他设备进行设备650的近区域通信。外部接口662可以例如在一些实现方式中提供有线通信,或者在其它实现方式中提供无线通信,并且还可以使用多个接口。
存储器664在计算设备650内存储信息。存储器664可以被实现为计算机可读介质或介质、易失性存储器单元或非易失性存储器单元中的一个或多个。扩展存储器674还可以通过扩展接口672来提供并连接到设备650,扩展接口672可以包括例如SIMM(单列直插存储器模块)卡接口。这种扩展存储器674可以为设备650提供额外的存储空间,或者还可以存储用于设备650的应用或其他信息。具体来说,扩展存储器674可以包括用于执行或补充上述处理的指令,并且还可以包括安全信息。因此,例如,扩展存储器674可以被提供为用于设备650的安全模块,并且可以用允许安全使用设备650的指令来编程。此外,安全应用可以与附加信息一起经由SIMM卡来提供,诸如以不可攻击的方式将标识信息放置在SIMM卡上。
存储器可以包括例如闪存和/或NVRAM存储器,如下所述。在一个实现方式中,计算机程序产品被有形地体现在信息载体中。计算机程序产品包含指令,当被执行时,执行诸如上述的一个或多个方法。信息载体是可以诸如通过收发器668或外部接口662接收的计算机或机器可读介质,诸如存储器664、扩展存储器674或处理器652上的存储器。
设备650可以通过通信接口666进行无线通信,通信接口666可以在必要时包括数字信号处理电路。通信接口666可以提供诸如GSM语音呼叫、SMS、EMS或MMS消息收发、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等各种模式或协议下的通信。这种通信可以例如通过射频收发器668发生。此外,可能会发生短距离通信,诸如使用蓝牙、WiFi或其他此类收发器(未示出)。此外,GPS(全球定位系统)接收器模块670可以向设备650提供额外的导航和位置相关的无线数据,其可以由在设备650上运行的应用来适当地使用。
设备650还可以使用音频编解码器660可听地通信,音频编解码器660可以从用户接收口语信息并将其转换为可用的数字信息。音频编解码器660同样可以诸如通过扬声器例如在设备650的听筒中为用户产生可听见的声音。这种声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等等),并且还可以包括在设备650上操作的应用产生的声音。
计算设备650可以以多种不同的形式来实现,如图所示。例如,它可以被实现为蜂窝电话680。它还可以被实现为智能电话682、个人数字助理或其他类似移动设备的一部分。
这里描述的系统和技术的各种实现方式可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现。这些各种实现方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现方式,所述可编程系统包括:可以是特殊或通用目的的至少一个可编程处理器,其被耦合至存储系统以从其接收数据和指令以及向其发送数据以及指令;至少一个输入设备和至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级程序和/或面向对象编程语言和/或汇编/机器语言实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”是指任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其用于向可编程处理器提供机器指令和/或数据,包括接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,这里描述的系统和技术可以在计算机上实现,所述计算机具有:用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)、以及键盘和指点设备(例如,鼠标或轨迹球),用户通过键盘和指点设备可以向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。
这里描述的系统和技术可以在计算系统中实现,所述计算系统包括后端组件(例如,作为数据服务器)或包括中间件组件(例如,应用服务器)),或者包括前端组件(例如,具有图形用户界面或Web浏览器的客户端计算机,用户可以通过该图形用户界面或浏览器与这里描述的系统和技术的实现进行交互),或者这种后端、中间件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)来互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)、点对点网络(具有自组织或静态成员)、网格计算基础设施和因特网。
计算系统可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系是由于各自计算机上运行的计算机程序和彼此之间的客户端-服务器关系而产生的。
虽然上面已经详细描述了几个实现方式,但是其它修改是可能的。此外,可以使用用于执行本文中描述的系统和方法的其他机制。此外,附图中所示的逻辑流程不需要所示的特定次序或顺序的次序来实现期望的结果。可以从所描述的流程中提供其他步骤或者可以消除步骤,并且可以将其他组件添加到所描述的系统中或从所描述的系统中移除。因此,其他实施方式在所附权利要求的范围内。

Claims (6)

1.一种计算机实现的方法,包括:
在客户端计算设备处接收意图被传送到另一客户端计算设备的回复消息,所述另一客户端计算设备通过第一通信信道向所述客户端计算设备发送了消息;
由所述客户端计算设备识别所述回复消息中的唯一标识符;
由所述客户端计算设备生成包括所述唯一标识符的标识的回复消息;以及
由所述客户端计算设备向计算机系统发送所标识的消息;
在计算机系统处接收回复消息;
由所述计算机系统选择所述回复消息中的唯一标识符;
由所述计算机系统基于所述唯一标识符与唯一消息标识符的存储库的比较,来确定所述回复消息不是重复消息;
由所述计算机系统响应于所述确定,将所述唯一标识符存储在唯一消息标识符的存储库中;
由所述计算机系统生成修改的回复消息,所述修改的回复消息包括去除了所述唯一标识符的至少一部分的所述回复消息;
由所述计算机系统向所述另一计算设备发送所述修改的回复消息;
由所述另一计算设备接收修改的回复消息,并输出修改的回复消息;
在所述计算机系统处并且在不同于第一通信信道的第二通信信道上接收已经被发送给所述另一计算设备的所述回复消息的第二实例;
基于所述回复消息的第二实例中的唯一标识符与唯一消息标识符的存储库的比较,确定所述回复消息的第二实例是复本;以及
如果确定所述回复消息的第二实例是复本,则由所述计算机系统丢弃所述回复消息的第二实例,而不将所述回复消息的第二实例发送给所述另一客户端计算设备。
2.如权利要求1所述的计算机实现的方法,其中,所述唯一标识符包括:接收者标识符,用于要接收所述消息的所述客户端计算设备;发送者标识符,用于发送所述消息的另一客户端计算设备;以及交互标识符,对于与所述接收者标识符和所述发送者标识符相关联的消息是唯一的。
3.如权利要求2所述的计算机实现的方法,其中:
所述接收者标识符和所述发送者标识符被包括在所述消息中,并且
所述交互标识符作为所述唯一标识符的至少一部分被添加到所标识的消息。
4.如权利要求1至3之一所述的计算机实现的方法,其中,所述消息包括文本消息。
5.如权利要求1至3之一所述的计算机实现的方法,其中,所述第一通信信道包括公共交换电话网络(PSTN),并且所述第二通信信道包括因特网协议(IP)网络。
6.一种用于在多个信道上发送消息的计算机系统,所述系统包括:
一个或多个处理器;
存储器,存储指令,所述指令在被执行时,使得所述处理器执行权利要求1-5中任一项的操作。
CN201680019969.0A 2015-04-21 2016-04-20 多信道上的消息收发 Active CN107438982B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562150830P 2015-04-21 2015-04-21
US62/150,830 2015-04-21
PCT/US2016/028442 WO2016172213A1 (en) 2015-04-21 2016-04-20 Messaging over multiple channels

Publications (2)

Publication Number Publication Date
CN107438982A CN107438982A (zh) 2017-12-05
CN107438982B true CN107438982B (zh) 2020-11-10

Family

ID=55949095

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680019969.0A Active CN107438982B (zh) 2015-04-21 2016-04-20 多信道上的消息收发

Country Status (4)

Country Link
US (1) US10305843B2 (zh)
EP (1) EP3286898B1 (zh)
CN (1) CN107438982B (zh)
WO (1) WO2016172213A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108475405A (zh) * 2015-11-18 2018-08-31 雷蛇(亚太)私人有限公司 交错方法、计算机可读介质及交错装置
EP3223538A1 (en) * 2016-03-24 2017-09-27 Thomson Licensing Method adapted to be implemented in a master device of a sound system, corresponding master device, system, computer readable program product and computer readable storage medium
KR20180090586A (ko) 2017-02-03 2018-08-13 삼성전자주식회사 알림을 제공하는 방법 및 그 전자 장치
CN107484145B (zh) * 2017-07-14 2022-07-29 曾仲林 一种cisc设备及cisc设备的通信方法
CN109379432B (zh) * 2018-10-31 2021-10-26 腾讯科技(深圳)有限公司 数据处理方法、装置、服务器及计算机可读存储介质
EP3664384A1 (en) * 2018-12-04 2020-06-10 T-Mobile USA, Inc. Network message fallback and deduplication
CN110022369A (zh) * 2019-04-11 2019-07-16 上海拉扎斯信息科技有限公司 消息处理方法、装置、电子设备及计算机可读存储介质
CN110266437A (zh) * 2019-06-26 2019-09-20 北京奇艺世纪科技有限公司 投屏消息发送方法、投屏消息处理方法、装置及终端
CN110795639A (zh) * 2019-09-27 2020-02-14 北京文渊佳科技有限公司 接收信息的方法、装置、电子设备及介质
CN110995736B (zh) * 2019-12-13 2021-11-30 中国兵器装备集团自动化研究所有限公司 一种通用的工业物联网设备管理系统
US11483250B2 (en) * 2020-03-27 2022-10-25 Denso Corporation System and method for processing messages sent using different transmission protocols
WO2023146826A1 (en) * 2022-01-25 2023-08-03 Apple Inc. Message redundancy between user devices
US11909707B2 (en) * 2022-04-15 2024-02-20 Red Hat, Inc. Message schema migration in messaging systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101662700A (zh) * 2009-08-28 2010-03-03 中兴通讯股份有限公司 一种信令消息传递方法及系统
CN102224751A (zh) * 2008-09-22 2011-10-19 迅速启动无限公司 用于动态的自动通信路径选择、分布式装置同步以及任务委派的系统和方法
EP2838220A1 (de) * 2013-08-14 2015-02-18 Siemens Aktiengesellschaft Verfahren zur redundanten Nachrichtenübermittlung in einem industriellen Kommunikationsnetz und Kommunikationsgerät

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020120697A1 (en) * 2000-08-14 2002-08-29 Curtis Generous Multi-channel messaging system and method
US20040019695A1 (en) * 2002-07-25 2004-01-29 International Business Machines Corporation Messaging system and method using alternative message delivery paths
US8495244B2 (en) * 2005-06-29 2013-07-23 Jumpstart Wireless Corporation System and method for dynamic automatic communication path selection, distributed device synchronization and task delegation
US8307029B2 (en) * 2007-12-10 2012-11-06 Yahoo! Inc. System and method for conditional delivery of messages
US8364770B2 (en) * 2009-06-08 2013-01-29 Greenfly America, Inc. Heterogeneous network delivery of electronic messages in accordance with privacy and personalization criteria
US20110060800A1 (en) * 2009-09-09 2011-03-10 Activepath Ltd. Method of guaranteeing the deliverability of emails and other messages
US20140012929A1 (en) * 2012-06-15 2014-01-09 Life of Two Delivering messages over multiple communication paths

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102224751A (zh) * 2008-09-22 2011-10-19 迅速启动无限公司 用于动态的自动通信路径选择、分布式装置同步以及任务委派的系统和方法
CN101662700A (zh) * 2009-08-28 2010-03-03 中兴通讯股份有限公司 一种信令消息传递方法及系统
EP2838220A1 (de) * 2013-08-14 2015-02-18 Siemens Aktiengesellschaft Verfahren zur redundanten Nachrichtenübermittlung in einem industriellen Kommunikationsnetz und Kommunikationsgerät

Also Published As

Publication number Publication date
CN107438982A (zh) 2017-12-05
WO2016172213A1 (en) 2016-10-27
EP3286898B1 (en) 2021-03-03
US10305843B2 (en) 2019-05-28
EP3286898A1 (en) 2018-02-28
US20160315900A1 (en) 2016-10-27

Similar Documents

Publication Publication Date Title
CN107438982B (zh) 多信道上的消息收发
JP4546801B2 (ja) 同期通知をクライアント装置に提供する方法
US11190586B2 (en) Cloud storage and synchronization of messages
US20140324504A1 (en) Database synchronization via a mobile network
US8005194B2 (en) Technique for handling incoming reply messages
US20090203389A1 (en) Systems and methods for synchronizing information using short message services and email services
CN109154968B (zh) 用于组织内的安全且高效的通信的系统和方法
US7395204B2 (en) Methods and apparatus for providing push to talk text data
US10453160B2 (en) Embeddable communications software module
US9058586B2 (en) Identification of a person located proximite to a contact identified in an electronic communication client
US10148707B2 (en) System and method for maintaining a collaborative environment
US10206071B2 (en) MMS delivery system
US9596199B2 (en) Enabling and supporting a presence server cache
CN108184209B (zh) 消息应答的方法及装置
CA2748110C (en) System and method for obtaining a portion of an archived email message
US10462616B2 (en) SMS/MMS message synchronization
CN115118628A (zh) 一种异常报文处理方法及装置
KR20140127065A (ko) 휴대용 단말 장치들의 메시지 송수신을 위한 메시지 통합 관리 시스템
KR20190056001A (ko) 단말기 연동을 위한 고객 정보 관리 서버 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant