CN111277484A - 网络消息回退和去重 - Google Patents
网络消息回退和去重 Download PDFInfo
- Publication number
- CN111277484A CN111277484A CN201911061613.5A CN201911061613A CN111277484A CN 111277484 A CN111277484 A CN 111277484A CN 201911061613 A CN201911061613 A CN 201911061613A CN 111277484 A CN111277484 A CN 111277484A
- Authority
- CN
- China
- Prior art keywords
- message
- version
- data
- examples
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/10—Multimedia information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/07—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
- H04L51/18—Commands or executable codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
Abstract
在一些示例中,网络终端经由非独立消息传递发送包括消息数据的消息。所述消息是从第一用户寻址并寻址到第二用户。终端接收指示与发送消息相关联的失败的第一错误数据。响应于接收到第一错误数据,终端经由独立消息传递发送替代版本的消息,所述替代版本的消息包括消息数据。在一些示例中,终端接收第一版本的消息,该第一版本的消息与第一消息数据相关联。随后,终端接收第二版本的消息,该第二版本的消息与第二消息数据相关联。终端启动对第一消息数据的检索。在一些示例中,检索失败,并且终端下载第二消息数据并将其存储为第一下载内容。
Description
背景技术
聊天和消息传递在许多配置用于电信的计算设备(诸如智能手机和基于互联网协议(IP)的终端)之间进行现代通信已经变得普遍存在,这些设备能够发送和接收各种类型的消息,并且除了语音电话呼叫之外还与各种网络服务进行交互。由于网络或消息传递会话超时、网络无法到达或被丢弃的连接、低速连接、会话发起协议(SIP)错误(如RFC 3261中规定)、消息会话中继协议(MSRP)错误(如RFC 4975中规定的)或其他终止,经由此类设备进行消息传输并不总成功。解决消息失败的现有尝试仅限于单个操作平台以及该公司的设备和即时消息产品,即APPLE的IMESSAGE。此外,如果IMESSAGE失败,则发送用户必须通过IMESSAGE或短消息服务(SMS)启动重发,或者必须已经激活了IMESSAGE设置中的重试SMS的特征。
附图说明
参照附图阐述详细说明。在附图中,附图标记的最左边的一个或更多个数字标识该附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的条目。为了说明的简洁,在本文的附图中,以菱形开头的箭头将(在菱形端)第一组件或操作连接到至少一个第二组件或操作,第二组件或操作可以是或包括在第一组件或操作中。
图1是示出根据一些示例的系统的框图,该系统包括用于实现去重(deduplication)或回退(fallback)技术,以在发送和接收实时消息时增加成功的组件。
图2是被配置为执行回退或去重的消息传递系统的组件的框图。
图3示出了例如在关于网络终端发送实时消息时,使用回退技术来增加成功的示例过程。
图4示出了用于发送消息的示例过程。
图5示出了用于发送消息的示例过程。
图6示出了例如在关于网络终端接收实时消息时,使用回退技术来增加成功的示例过程。
图7示出了在发送和接收实时消息时,与回退技术的一些实现方式一起使用的消息去重以增加成功的示例过程。
图8示出了例如关于网络终端使用去重技术来减少网络或存储负载的示例过程。
图9示出了用于接收消息的回退和消息去重的示例过程。
具体实施方式
概述
在此描述的一些示例系统和技术允许在发送和接收实时消息时通过与发送或目的地终端的操作系统独立地自动采用回退技术来提升传输成功。如果接收到重复的消息,则本文所述的一些示例系统和技术会自动执行去重,这在某些情况下可能是由于采用了例如本文所述的回退技术。
如本文所使用的,“终端”是被配置为执行本文所述的技术、或与被配置为执行本文所述的技术的系统通信的通信设备。终端可以包括例如无线语音通信设备或数据通信设备,例如蜂窝电话、智能电话、平板电脑、其他用户设备(UE)等。终端包括各种用户界面,例如用于呈现图形用户界面(GUI)的屏幕,用于呈现音频输出的扬声器、以及输入设备触摸屏、关联的键盘、麦克风等。如本文所用,“服务器”是配置为在某些示例中根据本文所述的技术、辅助两个或更多个终端之间的通信的计算设备。“目的地终端”是这样的终端,该终端接收消息、消息被寻址到该终端、或与消息被寻址到的用户相关联的终端。
如本文中所使用的,术语“网络会话”包括用于在两个或更多个终端之间进行双向交换数据的通信路径。示例网络会话包括例如人类交谈的语音和视频呼叫、即时消息交谈、或例如两个电子系统之间或电子系统与人类之间的数据通信会话。网络会话可以包括例如在一个方向上的内容传输,以及在另一方向上的确认或握手数据传输。
消息可以通过非独立消息传递(“NSAM”)、独立消息传递(“SAM”)或通知(例如,推送通知)进行传输。NSAM可以包括例如交换机,在该交换机中,多个终端能够在公共网络媒介交谈中发送消息。SAM可以包括例如在网络媒介交谈的背景之外或不需要这种交谈的存在下,将消息从一个终端传输到另一终端。推送通知可以包括例如从网络服务器到终端的未经请求的或轮询的传输,包括从网络服务器转发的消息。在一些示例中,运营商的网络例如使用基于SIP的协议来便于NSAM和SAM,并且例如通过使用从推送通知服务器到终端104的基于REST的协议,经由空中(OTT)服务来发送。
网络会话的示例可以包括NSAM会话,例如,如融合IP消息传递(CPM)规范(其为CPM会话模式)中和在即时消息传递的SIP和在线利用扩展(SIMPLE)规范(作为IM会话模式)或其他IM规范定义的即时消息传递(IM)会话模式消息传递(SMM)会话。NSAM可以在IP多媒体子系统(IMS)网络的富通信套件(RCS)网络组件中实现。NSAM的各种示例可以包括JOYN、WHATSAPP或SKYPE提供的服务。NSAM的一些示例可以提供带有表情符号的一对一或群组消息传递。文件共享,包括视频、图像、音频等,除纯文本消息交换之外或替代纯文本消息交换的其他特征。NSAM的某些示例可以使用例如实时传输协议(RTP)或MSRP交换消息传递会话的媒体。如本文所使用的,“NSAM会话”是允许使用NSAM协议,在两个终端之间或多个终端之间的双向传输内容的网络会话。
其他示例性网络会话可以包括或支持文件传输或大消息传输,例如,如CPM独立的大消息模式规范或SIMPLE IM大消息模式规范(单独或共同地,SAM)中所定义。例如,可以在两个终端之间建立网络会话,并且可以在该网络会话上设置SIP对话。然后,例如通过MSRP连接,文件或大消息内容可以作为该对话中的媒体进行传输。在SAM消息传递的一些示例中(例如CPM独立模式或SIMPLE寻呼机或大消息模式),在传输单个文件或大消息之后,SIP对话和网络会话将被除去。因此,SAM可能涉及网络会话,但不涉及NSAM(消息传递)会话。除了文件传输或大消息传递之外,在某些示例中,SAM还可以包括寻呼机(或“寻呼(page)”)消息传递(PMM)。PMM和其他类似形式的SAM可以包括不建立NSAM会话以及建立或不建立网络会话的消息传输。例如,CPM独立的寻呼模式消息传递和SIMPLE IM寻呼模式消息传递在SIPMESSAGE请求中传输单个消息的内容。该请求是通过网络会话承载的,但是不建立SIP对话或NSAM会话。SAM的其他示例可以包括SMS和多媒体消息传递服务(MMS),或可能建立或可能不建立网络会话或SIP对话的其他服务,这取决于传输独立消息所通过的特定网络和互通设施。本文描述的SAM消息传递的一些示例不包括MMS、不包括SMS、或不包括MMS和SMS二者。SAM消息传递的一些示例仅包括RCS SAM协议。SAM消息传递的一些示例可以包括所有RCSLMM、RCS PMM、MMS和SMS。
本文描述的一些示例性系统和技术可以实现跨消息传递类型的回退技术,以在发送和接收实时(包括近实时,并且同样贯穿全文)消息时,增加成功。在一些示例中,通过网络或服务器,对于通信终端透明地辅助回退过程。在一些示例中,通过发送终端,对于发送终端的用户显然地便于回退过程。在一些示例中,网络或服务器或终端实现如本文所述的去重技术,以使回退技术不会导致用户不止一次看到相同的消息。
承载网络会话的示例性网络包括第二代(2G)蜂窝网络(例如全球移动通信系统(GSM))和第三代(3G)蜂窝网络(例如通用移动电信系统(UMTS))。其他示例性网络包括第四代(4G)蜂窝网络,例如使用SIP信令承载LTE语音(VoLTE)会话的长期演进(LTE)蜂窝网络,使用信令系统7(SS7)信令的公共交换电话网(PSTN);和数据网络,例如电气和电子工程师协会(IEEE)802.11(WIFI)网络,这些网络承载着互联网协议上的语音(VoIP)呼叫或其他OTT会话,例如,这些语音和视频数据以对基础层分组透明的方式传输。GSM和PSTN是电路交换(CS)网络的示例;LTE和WIFI是分组交换(PS)网络的示例。
移动无线电系统中的终端可以被配置为包括或访问控制逻辑,以用于实现本文所述的回退和/或去重技术。例如,移动运行商或原始设备制造商(OEM)可以在终端中供应这些技术,例如,经由下载应用程序(诸如程序或移动应用程序之类),或经由访问去中心化应用程序(DApp)来实现这些技术。
发送终端可以经由NSAM向一个或更多个接收者发送消息(包括消息数据)。如果对于一个接收者、≥1个接收者、一些接收者、或所有接收者(在各种示例中)消息传送失败,则收到错误的终端或服务器可以自动启动回退过程。可以通过例如服务器或接收到错误代码或在预定时限内未接收到响应的发送终端来识别故障。回退过程可以包括经由NSAM发送失败的消息的副本,和/或经由不同的消息传递模式(例如,经由SAM)发送(或使发送)消息的第二(或替代)版本。在某些情况下,回退过程响应于副本的传送同样失败,而经由不同的消息传递模式发起发送第二版本的消息。
在第二版本失败的情况下,回退系统可以例如经由图形用户界面、音频信号等的呈现,在发送终端上或在发送终端处引起失败通知。失败通知可以包括提示输入,以启动发送消息的第二个副本。即,可以在传送第二版本的消息失败之后,发送消息的第二个副本。在各种示例中,可以经由NSAM或SAM,(例如,经由SMM、大消息模式(LMM)和/或PMM)来发送消息的第二副本。在NSAM包括RCS协议的实例中,回退过程可以包括确定目的地终端具有RCS能力。在各种示例中,是否使用LMM、PMM、SMS或MMS发送SAM副本或版本取决于与消息关联的消息数据的数量或类型(例如,操作504)。
目的地终端可以启动与经由NSAM接收到的消息关联的消息数据的下载,并且在下载失败时发送错误消息。此后,目的终端可以经由NSAM接收消息的副本,启动与消息副本相关联的消息数据的下载,并且存储与消息数据副本相关联的消息数据。在一些示例中,目的地终端可以接收第二版本的消息,发起与第二版本的消息相关联的消息数据的下载,并且存储与第二版本的消息相关联的消息数据。在各种示例中,可以经由SAM(例如,LMM或PMM)或经由推送通知,来接收第二版本的消息。在某些实例中,与第二版本的消息关联的消息分组包括或被格式化为RCS PMM、RCS LMM、SMS或MMS。
在一些示例中,当经由推送通知接收到第二版本的消息时,目的地终端可以经由对与推送通知关联的统一资源标识符(URI)的表述性状态转移(REST)API调用,从服务器获取与第二版本的消息相关联的消息数据。在一些示例中,推送通知包括与第二版本的消息相关联的消息数据,例如,当消息数据的量较小时,例如没有伴随图像、音频或视频文件的文本,和/或不超过160个字符的文本。包括消息数据的推送通知的其他示例可以是可容纳多达4KB数据的ANDROID通知,或可容纳多达2KB数据的IOS通知。相反,在一些示例中,可以通过存储在推送通知中的URI或其他参考,将包括要下载的文件的消息数据链接到该数据。
在一些示例中,目的地终端可以执行去重过程。去重过程可以包括确定与消息的副本相关联的消息ID和与第二版本的消息相关联的消息ID是否相同。如果消息ID匹配,则目标地终端可以丢弃重复的下载内容。在各种示例中,可以丢弃来自消息副本或第二版本的消息的下载内容。
在各种示例中,服务器(例如,在网络节点处)可以接收消息和与该消息相关联的数据。服务器可以存储消息和数据,并且可以将消息发送到与目的地用户相关联的终端。服务器还可以侦听目的地终端,以请求下载消息数据,和/或确定何时未接收到下载消息数据的请求(例如在超时之后)。在一些示例中,服务器可以例如响应于确定未接收到下载消息数据的请求,而向与发送用户相关联的终端发送错误消息。
在各种示例中,服务器可以接收或生成消息和消息数据的副本,存储消息和消息数据的副本,并且将消息的副本发送到与目的地用户关联的终端。在一些示例中,服务器还可被配置为侦听目的地终端,以请求下载消息数据的副本和/或确定何时未接收到下载消息数据的副本的请求。服务器可以接收下载与消息副本相关联的消息数据的请求,并且可以将与消息副本相关联的消息数据发送到与目的地用户相关联的终端。在一些示例中,服务器可以发送第二版本的消息发送给与目的地用户相关联的终端。在一些示例中,服务器可以侦听下载与第二版本的消息相关联的消息数据的请求,和/或确定何时未接收到与第二版本的消息相关联的下载消息数据的请求。服务器可以将与第二版本的消息相关联的消息数据发送到与目的地用户相关联的终端。
在各种示例中,服务器可以被配置为例如响应于存储消息数据,而向与目的地用户相关联的终端发送推送通知。在一些示例中,推送通知可以包括消息数据和/或与消息数据相关联的URI。在示例中,服务器在发送第二版本的消息之前先发送消息的副本。
在某些示例中,服务器可以配置为确定以下中的任一者是否相同:与消息相关联的消息ID,与消息副本关联的消息ID、或与第二版本的消息关联的消息ID。在一些示例中,服务器可以被配置为侦听从存储器中删除消息和/或消息数据的请求,并且接收从存储器中删除消息、消息的副本、第二版本的消息、第一下载内容、和/或第二下载内容中的一个或更多个的请求。
本文的一些示例在发送和接收实时消息时提供了改进的成功,这可以提升用户体验。一些示例提供了用于移除重复消息和/或关联的消息数据的功能,这可以减少网络节点和/或终端上的存储负载,或者可以减少用于数据传输的网络负载。
示例性配置
图1是示出根据一些示例的电信系统100的框图。该系统包括终端102和104,例如,用户设备、智能电话、其他移动电话、平板电脑、混合计算机或其他计算或通信设备。终端102和104可以与可以操作终端的各个用户相关联。终端102和104例如经由各自的接入网108和110,可通信地连接到一个或更多个服务器106。一个或更多个服务器106可以包括一个或更多个RCS服务器,诸如CPM(融合IP消息传递)消息存储服务器、在线服务器、消息传递服务器、或多媒体电话(MMTEL)应用程序服务器。此外或替代地,一个或更多个服务器106可以包括SMS服务器、MMS服务器或例如向终端102、104提供对基于SS7的SMS或MMS服务器的IP访问的互通功能(IWF)。此外或替代地,一个或更多个服务器106可包括例如IMS网络的电话应用服务器(TAS)。系统100可以包括任何数量的一个或更多个服务器106。在一些示例中,终端102和104都能够经由RCS协议进行通信(例如,被配置为选择性地进行通信)。
在一些示例中,一个或更多个服务器106可以表示消息传递服务器(例如,RCS服务器),以及所发送消息向其归档的存储服务器。在一些示例中,存储服务器可以包括推送通知服务器或者可以与该推送通知服务器可通信地连接,该推送通知服务器在发送的消息被归档在存储服务器上时,发送推送通知。
在一些示例中,接入网108、110可以包括归属网络(HPLMN)或受访网络(VPLMN)。在一些示例中,接入网108、110可以是或包括演进分组系统(EPS)网络,该演进分组系统(EPS)网络包括演进的UMTS陆地无线接入网(E UTRAN)接入和演进的分组核心(EPC)或另一个PS接入网;具有无线接入点(WAP)(例如WIFI WAP)的基于局域网(LAN)的接入网,以及网桥或其他分组中继;或具有CS基站和移动交换中心(MSC)服务器(MSS)的CS接入网。
一旦终端102附接到接入网108,终端102就可以参与网络会话。例如,终端102可以通过经由信令路径112交换消息,来发起与终端104的NSAM交换。例如,终端102可以发送具有包括会话描述的会话描述协议(SDP)主体的SIP INVITE消息,或者其他会话发起消息。在一些示例中,会话发起消息不与切换相关联。一个或更多个服务器106或终端104可以作为响应,发送相应的一个或更多个SIP响应,例如,SIP 200 OK响应。
如本文中所使用的,可以将消息“发送到目的地”或“朝向目的地发送”或类似术语直接发送到目的地,或者可以经由一个或更多个中间网络设备发送到目的地。在所示的示例中,终端102经由接入网108向终端104发送信息。类似地,“从目的地接收”的消息可以直接从目的地接收,或者可以经由例如接入网108的一个或更多个中间网络设备从目的地接收。通过一个或更多个中间网络设备的消息可以由那些网络设备通过以下方式进行修改:例如,通过添加或删除帧,或者通过改变消息的至少一部分的表示,例如,SIP起始行到SIP报头,反之亦然。
可以例如按照VoLTE、RCS、CPM或SIMPLE标准中定义的来执行会话发起,并且会话发起可以包括在终端102和104与一个或更多个服务器106之间交换附加消息(未示出)。NSAM会话的数据(例如消息的文本、语音聊天的音频数据、或视频聊天的视频数据)可以经由媒体路径114在终端102和104之间交换。在一些示例中,媒体路径114可以通过或涉及一个或更多个媒体网关116。为解释清楚起见而示出信令路径112和媒体路径114。然而,在一些示例中,信令消息可以通过替代信令路径112的路径或除了信令路径112之外还通过该路径行进,或者媒体消息可以通过替代媒体路径114的路径或除媒体路径114之外还通过该路径行进。例如,终端102和104可以直接在它们自己之间建立媒体路径114,而没有媒体网关116。
在一些示例中,除了或替代经由媒体路径114,还可以经由信令路径112来承载媒体内容。例如,作为消息主体(例如PMM、IP上的SMS或其他SAM消息),在该请求中可以包括不超过SIP MESSAGE请求的大小限制的文本消息内容。在一些示例中,除了或替代通过媒体网关116,媒体路径114可以通过至少一个服务器106。例如,消息传递服务器106可以同时用作MSRP代理和基于SIP的应用服务器。
在一些示例中,相对于一个或更多个终端102、104,不同的服务器106可以参与不同的一个或更多个信令路径112或一个或更多个媒体路径114。例如,终端102可以经由信令路径112和媒体路径114,将RCS消息发送到终端104。在例如回退情况下(例如,图3-5),终端102可以例如使用信令路径120和媒体路径122,经由一个或更多个另外的服务器118(推送通知服务器),另外地或替代地向终端104发送推送通知。
终端102和104可以被实现为被配置为通过无线和/或有线网络通信的任何合适的移动计算设备,包括但不限于移动电话(例如,智能电话)、平板电脑、笔记本电脑、便携式数字助理(PDA)、可穿戴计算机(例如,电子/智能眼镜、智能手表、健身追踪器等)、联网数字相机、和/或类似的移动设备。尽管该描述主要将终端102和104描述为“移动”或“无线”(例如,被配置为被携带并且在周围移动),但是应该理解,终端102和104可以表示各种类型的通信设备,其通常也是静止的,例如电视、台式计算机、游戏机、机顶盒等。用户设备可以包括用户蜂窝设备或经由一个或更多个服务器106与其他计算设备可通信地连接的其他电信或计算设备。
电信系统100还可包括图1中未示出的多个设备或节点。这样的设备或节点可以包括访问转移控制功能(ATCF)、访问转移网关(ATGW)、访问者位置寄存器(VLR)、服务GPRS支持节点(SGSN)、网关GPRS支持节点(GGSN)、策略控制规则功能(PCRF)节点、或会话边界控制器(SBC)。IMS可以进一步包括图1中未示出的多个设备或节点,例如在线服务器和一个或更多个另外的CSCF。接入网108、110的核心网络可以是GPRS核心网络或EPC网络,或者可以包括来自两种类型的核心网络的元件。
终端102、104可以向一个或更多个服务器106提供标识信息。在一些示例中,标识信息可以包括以下中的至少一个:终端标识符(诸如国际移动设备身份(IMEI)),网络标识符(例如移动国家代码(MCC)和移动网络代码(MNC)),用户标识符(例如国际移动订户身份(IMSI)),用户地址(例如E.164国际拨号计划电话号码),移动站点国际订户目录号(MSISDN),网络地址(例如互联网IPv4或IPv6地址)或国家/地区代码(例如,指示终端102、104所在的国家/地区)。在一些示例中,标识信息可以包括从终端102、104的IMSI确定的移动虚拟网络运行商(MVNO)的标识符。在一些示例中,终端102、104可以在附接到网络(例如在S1AP初始UE消息中)期间,提供标识信息。在一些示例中,终端102可以在另一消息中提供标识信息。例如,SIP REGISTER请求或SIP INVITE请求可以包括P接入网信息(P-Access-Network-Info(PANI))报头。可以从PANI报头的“cgi 3gpp”参数中检索服务于终端102的蜂窝(例如,eNodeB)的蜂窝全局身份(CGI)。cgi 3gpp参数可以包括MCC、MNC、位置区域代码(LAC)、和蜂窝身份(CI)。
图2是示出根据一些实现方式的允许关于消息的回退或去重的系统200的框图。系统200包括终端202,其可以表示经由网络206耦合到服务器204的终端102或104(如图1所示)。服务器204可以表示服务器106。网络206可以表示例如接入网108或110,或者电信系统100的其他网络。
网络206可以包括一个或更多个网络,例如蜂窝网络208和数据网络210。网络206可以包括经由一个或更多个接入网连接到一个或更多个的终端的一个或更多个核心网络。示例性接入网包括LTE、WIFI、用于GSM演进(EDGE)无线电接入网(GERAN)的GSM增强数据速率、UTRAN、以及其他蜂窝接入网。例如,可以经由3G、4G、5G、WIFI或其他网络,执行本文所述的消息传输、接收、回退和去重。
蜂窝网络208可以使用诸如GSM、码分多址(CDMA)、UMTS、LTE等技术来提供广域无线覆盖。示例网络包括时分多址(TDMA)、演进数据优化(EVDO)、高级LTE(LTE+)、通用接入网(GAN)、非许可移动接入(UMA)、正交频分多址(OFDM)、GPRS、EDGE、高级移动电话系统(AMPS)、高速分组访问(HSPA)、演进的HSPA(HSPA+)、VoIP、VoLTE、IEEE 802.1x协议、无线微波访问(WIMAX)、WIFI、和/或任何将来基于IP的网络技术或现有基于IP的网络技术的演进。服务器204与终端(诸如终端202之类)之间的通信可以另外地或替代地使用其他技术来执行,诸如有线(普通旧电话服务、POTS或PSTN线路)、光(例如,同步光纤网络、SONET)技术等。
数据网络210可以包括用于发送和接收数据(例如,数据分组)的各种类型的网络,包括使用诸如WIFI、IEEE 802.15.1(“蓝牙”)、异步传输模式(ATM)、WIMAX和其他网络技术,例如其被配置为传输IP分组。在一些示例中,服务器204包括IWF或其他设备桥接网络(例如,LTE、3G和POTS网络)或与之可通信地连接。在一些示例中,服务器204可以将SS7流量从PSTN桥接到网络206中,例如,这允许PSTN客户向蜂窝客户拨打电话,反之亦然。
在一些示例中,蜂窝网络208和数据网络210可以承载语音或数据。例如,数据网络210可以使用VoIP或其他技术来承载语音流量以及数据流量,或者蜂窝网络208可以使用HSPA、LTE或其他技术来承载数据分组以及语音流量。一些蜂窝网络208以PS格式承载数据和语音。例如,许多LTE网络根据VoLTE标准在数据分组中承载语音流量。本文的各种示例在例如使用CS传输或混合VoLTE/3G传输的网络206上、或在包括OEM手机和非OEM手机的终端202上,提供例如运营商级语音呼叫的发起和终止。
终端202可以是或包括无线电话、有线电话、平板电脑、比较本电脑、手表或其他类型的终端。终端202可以包括一个或更多个处理器212,例如,一个或更多个处理器设备,例如微处理器、微控制器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、可编程逻辑设备(PLD)、可编程逻辑阵列(PLA)、可编程阵列逻辑设备(PAL)、或数字信号处理器(DSP)、以及一个或更多个计算机可读介质(CRM)214,诸如存储器(例如,随机存取存储器(RAM)、固态驱动器(SSD)等))、磁盘驱动器(例如,基于磁盘的硬盘驱动器)、另一种类型的计算机可读介质或其任意组合。终端202的CRM或其他存储器可以保持数据存储,例如SQL或NoSQL数据库、图形数据库、BLOB、或另一数据集合。终端202可以进一步包括用户界面(UI)216,例如,其包括电子显示设备、扬声器、振动单元、触摸屏、或用于向用户呈现信息并从用户接收命令的其他设备。终端202还可以包括一个或更多个网络接口218,其被配置为经由网络206(例如经由接入网108或110)选择性地(有线或无线地)通信。
CRM 214可用于存储数据和存储可由处理器212执行以执行本文所述的各种功能的指令。CRM 214可以存储各种类型的指令和数据,例如操作系统、设备驱动器等。处理器可执行的指令可以由处理器212执行,以执行本文所述的各种功能。
CRM 214可以是或包括计算机可读存储介质。计算机可读存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)、或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁性存储设备,或可用于存储所需信息并可由处理器212访问的任何其他有形的非暂时性介质。有形的计算机可读介质可包括易失性和非易失性、可移除和不可移除的介质,其以任何方法或技术实现以用于存储信息,例如计算机可读指令、数据结构、程序模块或其他数据。
CRM 214可以包括客户端应用程序220的处理器可执行指令。客户端应用程序220(例如本机或其他拨号器)可以允许用户发起和终止与终端202(例如无线电话)相关联的通信会话。客户端应用程序220可以另外地或替代地包括SMS、RCS或存在客户端、或服务器204提供的另一个电话服务的客户端。
CRM 214可以存储标识终端202的信息222。信息222可以包括例如使用终端202来标识订户的IMEI,IMSI,或者上面讨论的其他信息。CRM 214可以另外地或替代地存储用于例如访问IMS或RCS服务的凭证(为了简洁而省略)。
CRM 214可以包括回退模块224或去重模块226的处理器可执行指令。模块224、226可以被实现为独立的应用程序或其一部分;可以被实现为在终端202上运行的操作系统(OS)的组件;可以被实现为客户端应用程序220的一部分。模块224、226可以由一个或更多个处理器212执行,以执行本文参考图3-9描述的功能。
服务器204可以包括一个或更多个处理器228和一个或更多个CRM 230。CRM 230可用于存储回退模块232或去重模块234的处理器可执行指令。处理器可执行指令可由一个或更多个处理器228执行,以执行本文例如参考图3-9描述的各种功能。在一些示例中,参考回退模块224或去重模块226描述的功能可以分别由回退模块232或去重模块234执行,例如代表发送或目的地终端。例如,终端202可以将消息发送到消息中继服务器204。在消息中继服务器204处运行的回退模块232然后可以将消息转发到目的地终端104,并且在传输失败的情况下,发送副本或替代版本(如下所述)。类似地,与目的地终端104连接的消息中继服务器204可以接收消息的多个副本或版本。在各种示例中,运行在消息中继服务器204上的去重模块234可以仅将一个副本或版本转发到目的地终端104。
在一些示例中,服务器204可以经由一个或更多个通信接口236(例如,用于有线或无线网络的网络收发器或存储装置接口)与终端202或其他设备通信(例如,可通信地与其连接)。一个或更多个示例通信接口236可以包括以太网或光纤信道收发器、WIFI无线电、或DDR存储总线控制器(例如,用于DMA传输到安装在物理服务器204中的网卡)。
在一些示例中,为简洁起见,在本文中将处理器212和(如果需要)CRM 214简称为“控制单元”。例如,控制单元可以包括CPU或DSP以及可由该CPU或DSP执行的指令,以使该CPU或DSP执行此处描述的功能。另外地或替代地,控制单元可以包括ASIC、FPGA或有线地(物理地或经由熔断熔丝或逻辑单元配置数据)布线的一个或更多个其他逻辑设备,以执行本文所述的功能。控制单元的其他示例可以包括处理器228,如果需要,还可以包括CRM230。
示例性操作
图3是示出用于使用回退以及相关数据项来改善传输可靠性的示例过程300的数据流程图。过程300可以例如由电信系统100的终端202(或102、104)的控制单元(例如,正在发送消息的终端202)执行。为简洁起见,但不限于此,终端102将始终用作发送终端的示例,而终端104将始终用作目的地终端的示例。
在一些示例中,终端202包括一个或更多个处理器(例如,处理器212),其被配置为例如响应于回退模块224的计算机程序指令而执行以下描述的操作。在一些示例中,过程300开始于操作302。在其他示例中,过程300从操作402开始,并且消息的第一副本404是原始消息304。
除非另有说明,以下讨论的图3和图4-9所示的操作可以按任何顺序执行,或者在较后的步骤中使用了较前步骤的数据。为了解释清楚,在此参考图1-2中所示的各种组件,其可以执行或参与示例方法的步骤。但是,应该注意,可以使用其他组件,即,图3-9所示的一个或更多个示例性方法不限于由所识别的组件执行,也不限于包括所识别的操作或消息。
在302,控制单元可以经由NSAM(例如,RCS SMM)发送包括消息数据306的消息304。例如,在已建立的NSAM会话中,可以经由RCS聊天发送文本消息304,或者可以经由RCS文件传输发送文件消息304。消息304可以包括例如用于即时消息(CPIM)的通用简档、(X)HTML(HTML、或可扩展标记语言、XML、序列化的超文本标记语言)、或经由MSRP SEND请求发送的纯文本消息。消息304可以从第一用户(或用户组)寻址,并且寻址到第二用户(或用户组,或例如会议焦点的组的代理)。可以使用消息304中的报头(例如,SIP的来自(From)和到(To)报头)来指示寻址。另外地或可替代地,可以在消息传输过程期间,例如经由命令(诸如SMTPMAIL FROM或RCPT TO命令之类)来指示寻址。
在一些示例中,发送终端102或从终端102接收消息304的消息传递服务器106可以将消息304归档到存储服务器中。在一些示例中,发送终端102或存储服务器可以触发对归档操作或消息304的归档副本的目的地用户或目的地终端104的推送通知。这里参考图7-9描述消息304的去重和消息的归档副本的示例。
在308,控制单元可以接收指示与发送消息相关联的失败的第一错误数据310。第一错误数据310可以包括例如来自SIP或另一协议的错误代码。另外地或替代地,第一错误数据310可以包括来自终端202的网络子系统的指示,该指示是在预定的超时时间内未接收到响应,或者包括来自终端202的OS的信号或其他数据,其指示定时器已经到期(在收到响应之前提供信号或其他数据)。在某些示例中,错误可能指示超时、网络不可达、网络或NSAM会话提前终止、SIP错误、MSRP错误或其他类型的错误。
在312处,例如,响应于接收到第一错误数据310,控制单元可以经由SAM(例如,PMM或LMM,诸如RCS PMM或RCS LMM)发送消息304的替代版本314。消息304的替代版本314可以包括消息数据306,就像消息304那样。在一些示例中,消息304、消息的第一副本404、和替代版本的消息314或其中的任意两个共享公共消息标识符(“消息ID”)。这可以允许对消息、副本或替代版本进行去重。本文例如参考图6-9讨论示例。在一些示例中,例如,如果RCS SAM失败,操作308和312可以执行多次,例如经由RCS SAM然后经由SMS或MMS重试。
在一些示例中,操作308被省略。消息304和替代版本314以任何顺序或并行发送。例如,可以经由RCS或其他NSAM发送消息304,并且可以经由推送通知系统发送替代版本314。示例推送通知系统包括APPLE推送通知服务(APNS)、GOOGLE云消息传递(GCM)、或FIREBASE云消息传递(FCM)。例如,在操作312,控制单元可以将替代版本314发送到推送通知系统,例如经由超文本传输协议(HTTP)(其可以包括未加密的http、受SSL/TLS保护的http、或用于提供安全HTTP链接的将来协议)或XMPP。然后,推送通知系统(例如,服务器106或118)可以将消息作为推送通知转发到目的地终端,如本文所述。在不等待错误(操作308)的情况下发送消息304和替代版本314可以增加目的地终端将接收消息数据306的可能性。因此,在一些示例中,在操作302之后执行操作312;在操作308之前执行操作312;操作302和312至少部分地并发执行。
在一些示例中,例如,对于本文参考图6-9描述的技术有用的,接收消息304或替代版本314的消息传递服务器106、118发送或使得发送消息304或替代版本314、或已经发送消息304或替代版本314的事实的推送通知。例如,RCS消息传递应用服务器(AS)可以包括推送通知系统、作为推送通知系统的一部分、与推送通知系统集成或可通信地与推送通知系统连接。在从源终端102接收到消息304或替代版本314时,消息传递服务器106、118可以将推送通知发送到目的地终端104,或者将消息发送到推送通知系统,以使得将推送通知发送到目的地终端104。
在一些示例中,例如,对于本文参考图6-9描述的技术有用的,接收消息304的消息传递服务器106、118发送或使得发送替代版本314。例如,消息传递服务器106、118可以执行从RCS SAM到MMS或SMS的回退。因此,在一些示例中,替代终端102、104或除了在终端102、104处,可以在消息传递服务器106、118处执行操作308、312、406、302、502、504、506、908、910、916或918中的任何一个。
在本文描述的示例中(包括参考图1-9描述的示例),除非另有说明,否则可以通过描述的操作的任意组合来提供或操作单个项目(例如物理项目或数据项目)。类似地,本文描述的任何操作可以产生未被后续操作消耗的数据。
图4是示出用于发送消息和相关数据项的示例过程400的数据流程图。处理400可以由终端202(例如消息发送终端)的控制单元来执行。在一些示例中,操作406可以在操作302之前。
在402处,控制单元可以经由NSAM发送消息304的第一副本404。第一副本404可以包括消息数据306。如本文所使用的,术语“副本”不需要确切的身份。例如,CPIM消息包括“日期时间(DateTime)”报头字段。在一些示例中,第一副本404具有与消息304相同的日期时间值;在其他示例中,第一副本404具有与消息304相比的更新后的日期时间值(例如,较后的日期时间值)。在另一个示例中,大消息可以被分成多个MSRP块,例如,如MSRP字节范围报头所指示的。在一些示例中,第一副本404在与消息304相同的点处被划分为多块;在其他示例中,第一副本404在与消息304不同的点处被划分为多块。在其他示例中,较低层协议值可能在消息304和第一副本404之间改变。例如,用于传输第一副本404的TCP段的TCP序列号可能与用于传输消息304的TCP序列号不同。以上示例给出了以下情况:其中,在网络上传输的第一副本404与通过网络发送的消息304非位对位相同。
类似地,如本文所使用的,对例如包括在不同消息、副本或版本中的特定消息数据(例如,消息数据306)的引用不需要精确的身份。例如,可以在消息304中以CR LF行结束符发送文本消息数据306,而在替代版本314中以仅LF行结束符发送文本消息数据306。类似地,不同的消息、副本或版本可以使用不同的内容传输编码(例如,base64、uuencode或未编码的8位)或不同的字符编码(例如,UTF 8或ISO-8859-1)对消息数据306进行编码。
在406处,控制单元可以接收第二错误数据408,该第二错误数据408指示与发送消息304的第一副本404相关联的失败。本文例如参考第一错误数据310来讨论示例。在一些示例中,第二错误数据408指示在预定时间内未接收到对第一副本404的响应。在一些示例中,操作406之后可以是操作302,因此可以响应于接收到第二错误数据408来执行消息304的发送。
在某些示例中,在通知用户之前(操作510),操作402和406可以执行任意次数(次数≥1次),例如,对于发送四个消息(在#402、#402、#302、#312)的示例而言,执行两次。
图5是示出了用于发送具有回退消息和相关数据项的示例过程500的数据流程图。处理500可以由终端202(例如消息发送终端)的控制单元来执行。在一些示例中,操作502之后可以是操作302。在一些示例中,操作504之后可以是操作312。在一些示例中,操作312之后可以是操作506。
在502,控制单元可以确定与接收第一消息的用户(目的地用户)相关联的网络终端(例如目的地终端)具有RCS功能(例如,实现GSMA RCC.07、RCC.11、或RCC.61)。操作502可以在操作502之后,在操作302中,例如,响应于在操作502处确定目的地终端支持RCS,可以经由NSAM(例如,通过RCS的CPM SMM或SIMPLE SMM)发送消息304。另外地或替代地,操作502可以在操作402之后,在该操作402处,例如响应于在操作502处确定目的地终端支持RCS,可以经由NSAM(例如,通过RCS的CPM SMM或SIMPLE SMM)发送消息304的第一副本404。在一些示例中,响应于确定目的地终端支持RCS(操作502)、参考图3和图4描述的NSAM和SAM操作(如发送到目的地终端的其他消息)可以使用RCS消息传递来执行。
在一些示例中,在操作504,控制单元可以将SIP OPTIONS请求发送到目的地终端。然后,控制单元可以接收指示目的终端能力的SIP响应。另外地或替代地,控制单元可以向存在服务器(例如,在IMS网络中)发送SIP SUBSCRIBE请求,并且随后从存在服务器接收对应的SIP NOTIFY请求。SIP NOTIFY请求可以包括指示目的地终端的能力的数据。SUBSCRIBE请求的超期(Expires)报头值为零,用于一次性检索功能信息(“匿名提取”)。另外地或替代地,可以经由用于存在内容的XML配置访问协议(XCAP)GET,从XML数据管理服务器(XDMS)服务检索存在信息。
在一些示例中,可以通过例如“3gpp-service”或“g.oma”特征标签树下的SIP接受联系人或联系人报头或其他报头中的特征标签来指示能力。控制单元可以选择在能力信息中包括相应标签的传送方法,或者如果不存在一个或更多个预定标签,则选择回退方法。例如,如果存在标签“3gpp service.ims.icsi.oma.cpm.msg”,则控制单元可以选择CPM独立(SAM)寻呼模式(PMM),或者如果存在标签“+g.oma.sip-im”,则可选择SIMPLE IM寻呼模式(PMM);如果消息对于SMS太大,则可选择MMS,否则可选择SMS。在一些示例中,传送模式是RCS SAM传送模式,例如,不是SMS且不是MMS。
在504处,控制单元可以至少部分地基于消息数据的大小,来为替代版本314选择传送方法。传送方法可以是LMM传送方法、PMM传送方法、SMS传送方法、或MMS传送方法中的至少一种。操作504之后可以是操作312。在操作312处,可以使用所选择的传送方法来发送替代版本314。
在506处,控制单元可以接收第三错误数据508,该第三错误数据508指示与发送消息304的替代版本314相关联的失败。这里例如参照第一错误数据310讨论示例。
在510处,控制单元可以经由用户界面(例如,用户界面216)呈现与发送消息304的替代版本314相关联的失败的通知512。例如,UI可以是图形用户界面(GUI),通知512可以包括顶部通知、托盘图标或吐司(toast)。另外地或替代地,通知512可以包括具有“重发?”提示的对话框和按钮或其他UI控件,以从用户接收“是”或“否”响应。在某些示例中,“返回”按钮是该控件、或是其他“否”控件。另外地或可替代地,控制单元可以经由音频、触觉(例如,盲文)或其他用户界面216来呈现通知512。在一些示例中,可以在RCS SAM(操作312)失败之后,或SMS/MMS或其他SAM失败(操作312)之后执行操作510。
在514,控制单元可以经由用户界面(例如,UI 216)接收与通知512相关联的用户命令516。例如,用户可以在对话框中单击或点击“是”,响应于此,被单击/点击的UI控件可以提供指示“是”响应的数据作为用户命令516。另外地或可替代地,用户可讲话或以其他方式产生声音(例如,如果用户想要“是”则敲三下),并且控制单元可以例如通过语言识别引擎、瞬态检测器、一个或更多个滤波器、或其他处理单元或步骤来处理声音,以确定用户命令516。
在518,控制单元可以响应于用户命令516(例如响应于“是”命令),来重发消息304。重传可以包括发送消息304或其版本的副本(使用虚线以图形方式示出)。本文例如参考操作302或402讨论示例。在一些示例中,操作518包括操作520。
在520,控制单元可以经由NSAM发送消息304的替代版本314的副本522。副本522可以包括消息数据306。本文例如参考操作312讨论示例。这可允许在存在瞬态网络故障的情况下传输消息而不会失去保真度,这些瞬态网络故障会干扰消息304的传送,但不会干扰副本522的传送。
在一些示例中,如图3-5所示的回退可以像以下示例中的任一者一样执行。箭头分开回退步骤,在每个箭头链中从左到右执行处理,并且括号给出了非限制性示例。如果终端104具有RCS功能并且该消息包括媒体(与文件传输相反):RCS聊天(消息304)→RCS独立消息或其他寻呼模式消息(替代版本314)→手动重试(操作514、518)。终端104具有RCS功能,并且该消息包括要传输的文件:RCS文件传输(消息304,消息数据306)→RCS独立消息(例如,大消息模式)(替代版本314)→手动重试(操作514、518)。如果终端104不具有RCS能力,并且该消息包括媒体:RCS独立消息或其他寻呼模式消息(消息304)→手动重试(操作514、518)。如果终端104不具有RCS能力,并且该消息包括要传输的文件:RCS独立消息(例如,大消息模式)(消息304;消息数据306)→手动重试(操作514、518)。因此,在一些示例中,省略了操作302和308。
一些示例针对瞬态网络故障或影响一种类型RCS消息传递但不影响另一种RCS消息传递的网络故障,提供了更高的鲁棒性。在该段落中列出的任何示例都在确定目标终端具有RCS功能(操作502)之前。以下是使用前段符号表示的示例性回退场景。发送RCS SMM(操作302)→回退到RCS LMM(操作312)。发送RCS SMM(操作302)→回退到RCS LMM(操作312)→回退到MMS。发送RCS SMM(操作302)→回退到RCS PMM(操作312)。发送RCS SMM(操作302)→回退到RCS PMM(操作312)→回退到SMS。
图6是示出了用于使用回退来改善传输可靠性的示例过程600以及相关数据项的数据流程图。处理600可以例如由电信系统100的终端202(或102、104)的控制单元(例如,接收消息的目的地终端或其他终端202)执行。在一些示例中,终端包括一个或更多个处理器(例如,处理器212),其被配置为例如响应于回退模块224或去重模块226的计算机程序指令,来执行以下描述的操作。
在一些示例中,过程600开始于操作602。在其他示例中,过程600开始于操作614,并且第二版本的消息616是消息的最早接收版本。因此,术语“第一”和“第二”是为了清楚起见,并且不限制步骤的顺序,除非本文明确示出和讨论。
为了清楚起见,针对特定数量的消息副本或版本讨论本文参考图6-9所描述的示例回退和去重操作。但是,针对比所示更多的副本或版本,可使用这些操作。例如,在图6中,可以执行操作606-614的循环,以尝试下载与消息的两个以上版本相关联的消息数据。
在602处,控制单元可以经由NSAM接收第一版本的消息604。在一些示例中,NSAM包括RCS协议,例如,CPM SMM或SIMPLE SMM。第一版本604可以表示在操作302处发送的消息304。
在606处,控制单元可以启动与第一版本604相关联的第一消息数据的第一下载608。第一消息数据可以包括例如图像;录音;录像;文档文件;或另一个文件。在一些示例中,控制单元可以从第一版本604提取IMAP、HTTP或其他资源标识符(例如,唯一资源标识符,URI)。然后,控制单元可以连接到由URI识别的服务器(例如,消息传递服务器106)并请求第一消息数据(例如,经由对REST API的一个或更多个HTTP GET请求)。在一些示例中,第一版本604可以包括application/vnd.gsma.rcs-fthttp+xml部分,该部分包括与XPath表达式“/file/file info[@type='file']/data/@url”(GSMA RCC.07)或在属性或元素中定位URL的其他表达式匹配的XML属性。该属性的值可以是应该在其中检索文件的URI。在其他示例中,可以使用其他XML结构或格式(例如JSON或YAML)。
在一些示例中,在操作606之后,例如由于网络过载,第一下载608可能由于目的地终端104移出接入网110的覆盖区域而失败,用户将接收终端202设置为飞机模式,或以其他方式禁用终端202上的网络连接,或其他瞬态网络或终端状况。在一些示例中,控制单元可以在接收到错误代码(诸如对HTTP请求启动第一下载608的HTTP 4xx响应之类)时,确定第一下载608已经失败。另外地或可替代地,执行第一下载608所在的服务器可能无法在预定的时间长度内响应,于是控制单元可以确定第一下载608已经失败。本文参照第一错误数据310描述错误的示例。
在一些示例中,当第一下载608在操作606处失败时,控制单元可以移除可能已经被接收的第一下载608的任何部分。在一些示例中,这可以响应于在操作706处确定第三版本的消息704可用于下载而完成。下面参考图7对此进行讨论。
在610,控制单元可以例如向发送终端102发送错误消息612,该错误消息612指示与第一下载608相关联的失败。错误消息612可以表示或包括本文参考操作308描述的第一错误数据310。
在614,控制单元可以例如经由SMM或其他形式的NSAM、PMM或其他形式的SAM或推送通知,来接收第二版本的消息616。例如,第二版本可以包括RCS寻呼模式消息、SMS消息或MMS消息。在所示示例中,第二版本616在第三版本704之前被接收,这在下面参考操作702进行讨论。在其他示例中,第三版本704在第二版本616之前被接收。第二版本616可以表示替代版本314(操作312)或副本404(操作402)。在一些示例中,可以使用第一RCS协议(例如,CPM SMM)、经由NSAM接收第一版本604,并且可以使用第二RCS协议(例如,CPM LMM或PMM)、经由SAM来接收第二版本616。在一些示例中,第一版本604和第二版本616可以在元数据(例如,归档时间或归档的服务器位置(例如,RCS对推送通知))上不同。即使第一下载608失败,不同的元数据或访问指示(例如URL)也可以允许第二下载(操作618)成功。
在618,控制单元可以下载与第二版本616相关联的第二消息数据620。在所示的示例中,操作618包括启动下载并成功完成下载。操作618可以包括经由任何协议或使用本文参考操作606描述的任何技术(例如经由与推送通知第二版本616相关联的端点统一资源标识符(URI)处的表示性状态转移(REST)API),或者通过从第二版本616中提取第二消息数据620,进行下载。
在622,控制单元可以将第二消息数据620存储为第一下载内容624。例如,控制单元可以将第二消息数据620存储在终端104的易失性或非易失性存储装置中,例如CRM 214。在一些示例中,例如,响应于本文参考操作706或718(而不参考第一版本604和第二版本616的消息ID)所描述的确定,可以移除第一下载608的部分内容。
图7是示出了用于接收或去重消息以及相关数据项的示例过程700的数据流程图。处理700可以由终端202的控制单元执行,终端202例如目的地(例如,消息接收)终端104。例如,处理700可以由处理器212响应于去重模块226的指令来执行。在一些示例中,操作614之后可以是操作706。在一些示例中,操作622之后可以是操作706或操作718。在一些示例中,可以相对于操作602-622(例如在操作622之前或之后),以任何相对顺序执行操作702、712或714。
在702,控制单元可以接收第三版本704。例如,可以经由以下中的一个接收第三版本的消息704:PMM或其他SAM,或者推送通知。在经由PMM或其他SAM接收第二版本616的一些示例中,第三版本704可以包括以下中的一个:SMS消息或MMS消息。在经由PMM接收第三版本704的一些示例中,第三版本704可以包括经由例如APNS、GCM或FCM(或另一推送通知系统)发送的消息。操作702之后可以是操作706、操作712或两者(以任一相对顺序)。
第三版本704可以表示替代版本314(操作312)。例如,如果终端104在终端102超时(例如,本文参考操作308、406描述)之前,没有对消息304(或者类似地,第一副本404)做出答复,则终端102可以继续发送替代版本314,而操作618仍在进行中。因此,终端104可以接收第二版本616和第三版本704两者。在一些示例中,目的地终端104不将其报告为错误状况,而是对第二版本616和第三版本704进行去重。
在一些示例中,其中替代版本314是经由推送通知服务发送,该推送通知服务可以归档消息,以提供有保证的传送。因此,取决于相对的网络负载和定时,第二版本616或第三版本704中的一个可以首先到达,而另一个第二到达。在一些示例中,目的地终端104不将其报告为错误状况,而是对第二版本616和第三版本704进行去重。
在706,控制单元可以确定与第二版本的消息616相关联的消息ID与与第三版本的消息704相关联的消息ID匹配。作为响应,控制单元可以执行操作708。例如,操作706可以包括比较消息ID,以用于二进制相等性,或者用于十六进制或其他文本表示形式的区分大小写或不区分大小写的相等性。消息ID可以表示在例如SIP或CPIM报头中。在一些示例中,可以在操作622和操作702两者之后执行操作706。
在708处,控制单元可以在从终端104(例如CRM 214)的存储装置中下载失败之前,在终端104处接收的第一下载608的一部分移除。这可以节省否则将要由失败下载使用的空间,并通过单独下载与第三版本704(以终止于“X”的虚线以图形方式表示)相关联的第三消息数据710,来移除空间的使用。在一些示例中,第三消息数据710包括在第三版本704中或与第三版本704相关联(例如,由包括在其中的URI标识)。
这些示例中的至少一些示例可用于经由推送通知接收的第三版本704。例如,可以经由SMM接收第二版本616,并且可以经由推送通知接收第三版本704。另外地或可替代地,可以经由推送通知来接收第二版本616,并且可以经由SMM或PMM来接收第三版本704。
在一些示例中,推送通知可以由在终端104上运行的一个应用程序或OS组件来处理,而RCS消息可以由不同的应用程序或OS组件来处理。因此,可以下载数据的两个副本,例如,一个副本由应用程序下载,而另一个副本由OS组件下载。另外地或替代地,两个副本可以由各自不同的应用程序下载,例如,一个副本由推送通知下载,另一个副本由RCS消息下载。因此,在这些示例中的一些示例中,操作618下载消息数据,且操作712还检索消息数据。
在一些示例中,在712,控制单元可以检索与第三版本704相关联的第三消息数据710。例如,控制单元可以从服务器(例如,消息收发服务器106)、通过与推送通知或其他第三版本704关联的端点URI处的REST API,获取第三消息数据710。另外地或者替代地,控制单元可以从下载URL、服务器、邮箱或第三版本740中指示的其他位置,下载第三消息数据710。本文例如参考操作606和618讨论示例。另外地或替代地,第三版本704(例如,推送通知)可以包括与第三版本704相关联的第三消息数据710。操作712可以包括从第三版本704提取的第三消息数据710。例如,第三消息数据710可以被包括在第三版本704的报头或主体或其一部分中,并且可以通过使用模式匹配、正则表达式、或其他技术来选择适当的部分而提取。
在714,控制单元可以将第三消息数据710存储为第二下载内容716。本文例如参考操作622讨论示例。
在718,控制单元可以确定与第二版本的消息616相关联的消息ID与消息ID匹配,该消息ID与第三版本的消息704相关联。本文例如参考操作706讨论示例。
在720,控制单元可以丢弃第一下载内容624或第二下载内容716中的至少一个(例如,两者中的任一个)。这可以响应于操作718的确定来完成。控制单元可以从RAM、闪存或另一个CRM 214删除第一下载内容624或第二下载内容716。另外地或替代地,控制单元可以将第一下载内容624或第二下载内容716占用的空间标记为可被以后的数据覆盖。与保留重复项的方案相比,这可以减少所需的存储空间量。在一些示例中,被丢弃的内容是被下载失败中断的部分下载。
图8是示出了用于接收消息和相关数据项的示例性过程800的数据流程图。过程800可以例如由电信系统100的终端104(例如,终端202)的控制单元执行。在一些示例中,终端202包括一个或更多个处理器(例如,处理器212),其被配置为例如响应于去重模块226的计算机程序指令,执行以下描述的操作。
在802,控制单元可以接收第一版本的消息804,例如经由RCSMSM或PMM,或另一NSAM或SAM协议发送的CPIM消息。第一版本的消息804可以包括(如图所示)或以其他方式与第一消息数据806相关联。本文例如参考操作602、614或702讨论示例。操作802之后可以是操作808或操作814。例如,操作814可以在操作808开始或完成之前开始。
在808处,控制单元可以例如在操作802之后,例如经由NSAM、SAM(例如,经由PMM、或SMS或MMS发送的CPIM消息),或推送通知(例如,APNS/GCM/FCM),接收第二版本的消息810。第二版本的消息810可以包括(如图所示)第二消息数据812或以其他方式与第二消息数据812相关联。本文例如参照操作602、614或702讨论示例。在一些示例中,第二版本810是经由不同的传输发送的第一版本804的副本(例如,如本文参考操作402所讨论),或者是替代版本314(例如,如本文参考操作312所讨论的)。操作808之后可以是操作814。
在814处,控制单元可以例如在操作802之后,发起对第一消息数据806的检索。控制单元可以另外地完成作为操作814的一部分或在操作814之后的该检索。本文例如参考操作606或712讨论示例。在一些示例中,控制单元不检索第二消息数据812或不发起对第二消息数据812的检索。与两次下载重复消息相比,这可以减少带宽。例如,如果经由SIP/MSRP成功地检索了第一消息数据806,则由于已经存在第一消息数据806,因此可以中止或跳过对第二消息数据812的检索(例如,使用IMAP或HTTP)。类似地,如果经由IMAP或HTTP成功检索了第一消息数据806,则可以中断或跳过经由SIP/MSRP对第二消息数据812的检索。
在一些示例中,操作814可以包括通过从第一版本的消息804中指示的消息服务器获取第一消息数据806,来检索第一消息数据806。消息服务器可以是例如IMAP或一个或更多个HTTP服务器或其他一个或更多个服务器106。本文例如参考操作606或712讨论示例。
一些示例的消息传递系统试图经由RCS和推送通知两者来发送消息。一些示例的推送通知系统(例如,应用程序或服务器)将消息归档,以提供可靠的传送。因此,终端104可以经由RCS(操作802或808)和经由推送通知(分别为操作808或802)两者接收相同的消息。因此,消息传递服务器106、实现去重模块226的应用程序、或另一网络或终端组件可以对接收到的副本进行去重,以减少带宽和存储需求。
图9是示出了用于接收具有回退的消息和相关数据项的示例性过程900的数据流程图。处理900可以由终端202(例如目的地(例如,消息接收)终端)的控制单元执行。可以响应于回退模块224或去重模块226的指令,来执行过程900。操作902可以在操作802和操作808之后进行。操作814可以在操作908或操作912之后。
在902,控制单元可以确定与第一版本的消息804相关联的第一消息ID 904与第二消息ID 906相匹配,第二消息ID 906与第二版本的消息810相关联。本文例如参考操作706讨论示例。操作902之后可以是操作814。这可以允许在接收到重复消息时检索第一消息数据806(例如,而不是第二消息数据812),而不会丢失非重复消息的消息数据。
在908,控制单元可以确定对第一消息数据的检索已经失败。例如,控制单元可以接收错误数据或检测超时。本文例如参考操作308、406、506、610或错误数据/消息310、408、508、612讨论示例。例如,如果SIP/MSRP下载不成功,则终端104可以中止该下载,丢弃任何下载的数据,并经由推送通知系统或同步系统检索第二消息数据812。
在910,控制单元可以检索第二消息数据812。可以例如响应于在操作908处的确定来执行操作910。本文例如参考操作614或702来讨论示例。例如在目的地终端104或消息传递代理服务器处使用的操作910的各种示例使用以下事实:消息经由两个路径到达(例如,一个路径实时使用来自消息传递服务器的SIP/MSRP协议,而当存储服务器从消息传递服务器接收消息以进行归档时,另一个路径则使用推送/同步,以提高消息发送和接收的可靠性。
在912,控制单元可以完成对第一消息数据的检索。例如,控制单元可以接收第一消息数据806的所有字节,来自下载服务器的“再见”命令,成功代码、或成功传输的另一指示。本文例如参考操作618讨论示例。
在914,控制单元可以检索第二消息数据或第二消息数据的至少一部分。本文例如参考操作614、618或910讨论示例。可以以相对顺序或至少部分同时执行操作912和914。如以上参考操作708所述,操作912和914可以由不同的组件执行,例如,用于操作912、914中的一个的应用程序和用于操作912、914中的另一个的OS组件。因此,操作912和914可以以任何相对顺序执行。
在916,控制单元可以确定第一消息ID 904与第二消息ID 906相匹配。本文例如参考操作902讨论示例。操作916之后可以是操作918。
在918,控制单元可以将第一消息数据806或第二消息数据812存储在数据存储中。数据存储可以包括例如至少一个CRM 214、230。例如,控制单元可以将消息数据806、812中的一个恰好存储在文件或数据库记录中。可以例如响应于在操作916处的确定,来执行操作918。即使在消息数据806、812都已被下载的情况下,存储消息数据806、812中的一个(而非两个)都可以节省存储空间。
示例条款
各种示例包括以下示例性特征中的一个或更多个,包括任何数量的以下示例性特征的任意组合。在这些条款中,带括号的注释仅是举例和阐述,并非限制性的。除非另有说明,否则针对特定语言在本示例条款部分中给出的带括号的注释适用于整个该部分中的相应语言。
A:一种方法,包括:在网络终端处:经由非独立消息传递(NSAM)发送包括消息数据的消息,所述消息是从第一用户寻址并寻址到第二用户;接收指示与发送消息相关联的失败的第一错误数据;和响应于接收到第一错误数据,经由独立消息传递(SAM)发送替代版本的消息,所述替代版本的消息包括消息数据。
B:根据段落A所述的方法,还包括:在发送消息之前:经由NSAM发送消息的副本,所述消息的副本包括消息数据;和接收指示与发送消息的副本相关联的失败的第二错误数据;其中,发送消息是响应于接收到第二错误数据而执行。
C:根据段落B所述的方法,其中所述消息、所述消息的副本、和所述替代版本的消息共享公共消息标识符。
D:根据段落A-C中任一段所述的方法,还包括:接收指示与发送替代版本的消息相关联的失败的第三错误数据;经由用户界面呈现与发送替代版本的消息相关联的失败的通知;经由用户界面接收与通知相关联的用户命令;和响应用户命令,重发消息。
E:根据段落D所述的方法,其中,重发所述消息包括经由NSAM发送所述替代版本的消息的副本。
F:根据段落A-E中任一段所述的方法,其中:所述消息和所述替代版本的消息共享公共消息标识符。
G:根据段落A-F中任一段所述的方法,其中:所述方法还包括确定:与第二用户相关联的第二网络终端具有富通信服务(RCS)能力;和响应于确定第二网络终端具有RCS能力,而执行经由NSAM发送消息。
H:根据段落A-G中任一段所述的方法,还包括:至少部分地基于所述消息数据的大小,为所述替代版本选择传送方法,其中所述传送方法是以下中的至少一个:大消息模式(LMM)传送方法;寻呼模式(PMM)传送方法;短消息服务(SMS)传送方法,或多媒体消息服务(MMS)传送方法。
I:一种方法,包括:在网络终端处:经由非独立消息传递(NSAM)接收第一版本的消息;启动与第一版本的消息相关联的第一消息数据的第一下载;发送指示与第一下载相关的失败的错误消息;接收第二版本的消息;下载与第二版本的消息相关联的第二消息数据;和将第二消息数据存储为第一下载内容。
J:根据段落I所述的方法,还包括:接收第三版本的消息;检索与第三版本的消息相关联的第三消息数据;将第三消息数据存储为第二下载内容;确定与第二版本的消息相关联的第一消息ID与第二消息ID相匹配,第二消息ID与第三版本的消息相关联;和响应于确定,丢弃至少第一下载内容或第二下载内容。
K:根据段落I或J所述的方法,还包括:接收第三版本的消息;确定与第二版本的消息相关联的第一消息ID与第二消息ID匹配,第二消息ID与第三版本的消息相关联;和响应于该确定,从网络终端的存储装置中移除第一下载内容。
L:根据段落K所述的方法,其中在第三版本的消息之前接收第二版本的消息。
M:根据段落I-L中任一段所述的方法,其中所述第二版本的消息是经由以下中的一个接收的:独立消息传递(SAM),推送通知,
N:根据段落M所述的方法,其中经由寻呼模式消息传递(PMM)接收第二版本的消息,并且包括以下中的一者:富通信服务(RCS)寻呼模式消息;短消息服务(SMS)消息,或多媒体消息服务(MMS)消息。
O:根据段落M或N所述的方法,其中所述第二版本的消息是经由推送通知接收,并且所述方法还包括:在与推送通知相关联的端点统一资源标识符(URI)上,经由表述性状态转移(REST)API,从服务器下载第二消息数据。
P:根据段落M-O中任一段所述的方法,其中所述第二版本的消息是经由推送通知接收,并且所述推送通知包括第二消息数据;所述检索包括从第二版本的消息中提取第二消息数据。
Q:根据段落I-P中任一段所述的方法,其中:经由SAM接收第二版本的消息;NSAM包括第一富通信服务(RCS)协议;和SAM包括第二RCS协议。
R:一种方法,包括:在网络终端处:接收第一版本的消息,所述第一版本的消息与第一消息数据相关联;随后,接收第二版本的消息,所述第二版本的消息与第二消息数据相关联;和启动对第一消息数据的检索。
S:根据段落R所述的方法,还包括:确定对第一消息数据的检索失败;和作为响应,检索第二消息数据。
T:根据段落R或S所述的方法,还包括:完成对第一条消息数据的检索;检索第二消息数据;确定与第一版本的消息相关联的第一消息ID与第二消息ID相匹配,第二消息ID与第二版本的消息相关联;和作为响应,将第一消息数据或第二消息数据存储在数据存储中。
U:根据段落RT中的任一段的方法,还包括:通过从第一版本的消息中指示的消息服务器获取第一消息数据,来检索第一消息数据。
V:根据段落R-U中任一段的方法,还包括:在检索第一消息数据之前,确定与第一版本的消息相关联的消息ID与与第二版本的消息相关联的消息ID匹配。
W:一种方法,包括:在网络终端处:经由非独立消息传递(NSAM)发送(操作302)包括消息数据的消息,该消息从第一用户寻址,并且寻址到第二用户;(操作312)经由独立消息传递(SAM),发送替代版本的消息,该替代版本的消息包括消息数据;以及接收(操作308)第一错误数据,该错误数据指示与发送消息有关的失败。
X:根据段落W的方法,其中,经由RCS发送消息,并且将替代版本的消息发送至推送通知系统。
Y:根据段落W或X的方法,还包括在发送消息之前:经由NSAM发送消息的副本,该消息的副本包括消息数据;以及接收指示与发送消息的副本相关联的失败的第二错误数据;其中,响应于接收到第二错误数据,而执行发送消息。
Z:根据段落W-Y中任一段的方法,还包括:接收第三错误数据,该第三错误数据指示与发送替代版本的消息相关联的失败;经由用户界面,呈现与发送替代版本的消息相关联的失败的通知:经由用户界面,接收与通知关联的用户命令;以及响应于用户命令,重发消息。
AA:根据段Z的方法,其中,重发消息包括经由NSAM发送替代版本的消息的副本。
AB:根据段落W-AA中的任一段的方法,其中,消息和替代版本的消息共享公共消息标识符。
AC:根据段落W-AB中的任一段的方法,其中:该方法还包括确定与第二用户相关联的第二网络终端具有富通信服务(RCS)能力;以及响应于确定第二网络终端具有RCS能力,执行经由NSAM发送消息。
AD:根据段落W-AC中的任一段的方法,还包括至少部分地基于消息数据的大小,来选择用于替代版本的传送方法,其中,该传送方法是以下中的至少一个:大消息模式(LMM)传送方法;寻呼模式(PMM)传送方法;短消息服务(SMS)传送方法、或多媒体消息服务(MMS)传送方法。
AE:一种计算机可读介质(例如计算机存储介质),其上具有计算机可执行指令,该计算机可执行指令在执行时,将计算机配置为执行段A-H、I-Q、R-V或W-AD中的任一段的操作。
AF:一种设备,包括:处理器;以及计算机可读介质(例如计算机存储介质),其上具有计算机可执行指令,该计算机可执行指令在由处理器执行时,将计算机配置为执行段A-H、I-Q、R-V或W-AD中的任一段的操作。
AG:一种系统,包括:用于处理的装置;以及用于将计算机可执行指令存储其上的装置,该计算机可执行指令包括将系统配置为执行段A-H、I-Q、R-V或W-AD中的任一段指示的方法的装置。
AH:一种网络终端,其被配置为执行段A-H、I-Q、R-V或W-AD中的任一段指示的操作。
AI:前述中任一项,其中列出的操作以列举的顺序执行。
结论
各个方面包括回退技术以改进实时消息传递。在没有传输成功指示的情况下(例如在RCS或SIP级别),各个方面重试RCS或SIP NSAM(例如,会话模式消息传递)作为SAM(例如,寻呼模式消息传递)。各个方面都提供了手动重试,而没有寻呼模式回退的成功指示。与可能不会通知失败的发送者或接收者,或可能仅通知失败的发送者并建议手动重试的现有技术相反,在某些示例中,初始重试是自动的,并且除非SAM回退也失败,否则NSAM的失败对最终用户隐藏。各个方面包括去重逻辑,以使得仅存储消息的单个副本,而与接收消息的消息传递模式无关,并且与消息或与消息相关联的消息数据的接收副本或版本的数量无关。
图1-2中的示例性组件和数据传输和图3-9的过程图中的示例操作表示可以通过硬件、软件或其组合实现的一个或更多个操作,以发送或接收所描述的数据或进行所描述的交换。在软件的上下文中,所示的操作和交换表示计算机可执行指令,当所述计算机可执行指令由一个或更多个处理器执行时,使处理器发送或接收所述数据。通常,例如存储在定义操作逻辑的程序模块中的计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。除非本文明确阐述,否则描述传输或操作的顺序并不旨被视为是限制性的,并且可以以任何顺序和/或并行组合任何数量的所描述的传输或操作以实现该过程。而且,除了本文明确阐述的以外,关于单个服务器或设备描述的结构或操作可以由多个设备中的每一个独立地或以协调的方式执行。
其他架构可以用于实现所描述的功能,并且旨在落入本公开的范围内。此外,尽管出于讨论的目的在上面定义了特定的职责分配,但是可以根据特定情况,以不同的方式分配和划分各种功能和职责。类似地,可以以各种方式和使用不同的手段来存储和分配软件,并且可以以许多不同的方式来改变上述的特定软件存储和执行配置。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,而不限于具体描述的存储装置的形式。
除非另有明确说明,否则在本文中以包括性含义使用词“或”和短语“和/或”。因此,除非另有明确说明,连接语言(诸如但不限于短语“X,Y或Z”中的至少一个,“至少X,Y或Z”,“X,Y或Z中的至少一个”,“X,Y或Z中的一个或更多个”,和/或用“和/或”替代“或”的那些短语中的任一者)应理解为表示:项目、术语等可以是X或Y或Z或其任何元素的组合(例如XY,XZ,YZ和/或XYZ的组合)。本文中对短语“X或Y或两者”或“X或Y或其组合”等的任何使用均是为了解释清楚,并不意味着诸如“X或Y”之类的语言排除了X和Y二者的可能性,除非明确指出排除了这种情况。
如本文所用,除非另外明确指出,否则诸如“一个或更多个X”之类的语言应被视为与“至少一个X”同义。在各种示例中,对“一个或更多个X”的任何引用表示所描述的步骤、操作、结构或其他特征可以例如包括或相对于恰好一个X或多个X执行,并且所描述的主题无论存在的X的数量多少都可操作,只要该数量大于或等于1。
除非另有明确说明,否则条件语言(例如“可以(can)”、“可能(could)”、“可能(might)”或“可能(may)”)在上下文中应理解为表示某些示例包括,而其他示例不包括某些特征、元件和/或步骤。因此,这种条件语言通常不旨在暗示一个或更多个示例以任何方式需要某些特征、元件和/或步骤,或者一个或更多个示例必须包括用于在有或没有用户输入或提示的情况下决定:在任何特定示例中是否包括或是否将要执行某些特征、元件和/或步骤。
尽管已经以特定于结构特征和/或方法步骤的语言描述了本文的一些特征和示例,但是应当理解,所附权利要求书不一定限于本文描述的特定特征或步骤。而是,将特定特征和步骤公开为实现所要求保护的多方面的优选形式。例如,网络206、处理器212和228以及本文所描述的其他结构或系统(针对其列出了多种类型的实现设备或结构)可以包括任何所列类型、和/或多种和/或其组合。
此外,本公开包括本文描述的多方面的组合。对“特定方面”(或“实施例”或“版本”)等的引用是指在至少一个方面中存在的特征。对“一个方面”(或“实施例”)或“特定方面”等的单独引用不一定指相同的一个或更多个方面。然而,这些方面不是互相排斥的,除非这样指出或对于本领域技术人员而言是显而易见的。在提及“一个方法”或“多个方法”等时,单数或复数的使用不是限制性的。
应当强调的是,可以对上述示例进行许多变型和修改,其中的元素应被理解为是其他可接受的示例。在本文中,所有这些修改和变型旨在被包括在本公开的范围内,并由所附权利要求保护。此外,除非另有明确说明,在权利要求中,对前面的权利要求条款所提供的一组项目的任何引用都是对一组项目中的至少一些项目的引用。该文件明确地设想了分别针对以下权利要求中的每一个(二者中)和每一个(三者以上)的替代方案,在这些权利要求中的任一项中,任何这样的引用均指代相应项目组中的每一个(二者中)和每一个(三者以上)项目。此外,在权利要求中,除非另外明确指定,否则被描述为“基于”所列举的项目的操作可以仅基于该项目或者至少部分地基于该项目来执行。该文件明确地设想了分别关于以下权利要求中的每一个(二者中)和每一个(三者以上)的替代方案,在这些权利要求中的任一项中,任何“基于”语言是指所引用的一项或多项,而没有其他一项或多项。另外,在使用“包括”过渡短语的任何权利要求中,除非明确指出(例如,“确切地是两个X”),否则对具体数量的组件的叙述不限于包括该数量的那些组件的实施例。但是,这样的权利要求确实描述了包括恰好指定数量的那些组件的实施例和至少包括指定数量的那些组件的实施例。
本文的示例性过程或设备的一些操作在各个操作及其逻辑流程中示出,并且参考那些操作进行总结。除非另外指出,否则描述操作的顺序不旨在被理解为限制性的。可以以任何顺序执行、以任何顺序组合、细分为多个子操作来执行或并行执行任何数量的所描述操作,以实现所描述的过程。例如,在包括在本文描述的示例的范围内的替代实施方式中,可以从所示出或所讨论的顺序删除或执行这些元件或功能,包括基本上同步或以相反顺序删除或执行。
Claims (15)
1.一种方法,包括:在网络终端处:
经由非独立消息传递(NSAM)发送包括消息数据的消息,所述消息是从第一用户寻址并寻址到第二用户;
接收指示与发送所述消息相关联的失败的第一错误数据;和
响应于接收到所述第一错误数据,经由独立消息传递(SAM)发送替代版本的消息,所述替代版本的消息包括所述消息数据。
2.根据权利要求1所述的方法,还包括:在发送所述消息之前:
经由NSAM发送所述消息的副本,所述消息的副本包括所述消息数据;和
接收指示与发送所述消息的副本相关联的失败的第二错误数据;
其中,发送所述消息是响应于接收到所述第二错误数据而执行。
3.根据权利要求1或2所述的方法,还包括:
接收指示与发送所述替代版本的消息相关联的失败的第三错误数据;
经由用户界面呈现与发送所述替代版本的消息相关联的失败的通知;
经由所述用户界面接收与所述通知相关联的用户命令;和
响应于所述用户命令,重发所述消息。
4.根据权利要求3所述的方法,其中重发所述消息包括经由NSAM发送所述替代版本的消息的副本。
5.根据权利要求1-4中任一项所述的方法,其中所述消息和所述替代版本的消息共享公共消息标识符。
6.根据权利要求1-5中任一项所述的方法,其中:
所述方法还包括:确定与所述第二用户相关联的第二网络终端具有富通信服务(RCS)能力;和
响应于确定所述第二网络终端具有RCS能力,执行经由NSAM发送所述消息。
7.根据权利要求1-6中的任一项所述的方法,还包括:至少部分地基于所述消息数据的大小,为所述替代版本选择传送方法,其中所述传送方法是以下中的至少一个:
大消息模式(LMM)传送方法;
寻呼模式(PMM)传送方法;
短消息服务(SMS)传送方法,或
多媒体消息服务(MMS)传送方法。
8.一种方法,包括:在网络终端处:
经由非独立消息传递(NSAM)接收第一版本的消息;
启动与所述第一版本的消息相关联的第一消息数据的第一下载;
发送指示与所述第一下载相关联的失败的错误消息;
接收第二版本的消息;
下载与所述第二版本的消息相关联的第二消息数据;和
将所述第二消息数据存储为第一下载内容。
9.根据权利要求8所述的方法,还包括:
接收第三版本的消息;
检索与所述第三版本的消息相关联的第三消息数据;
将所述第三消息数据存储为第二下载内容;
确定与所述第二版本的消息相关联的第一消息ID与第二消息ID相匹配,所述第二消息ID与所述第三版本的消息相关联;和
响应于确定,丢弃至少所述第一下载内容或所述第二下载内容。
10.根据权利要求8或9所述的方法,还包括:
接收第三版本的消息;
确定与所述第二版本的消息相关联的第一消息ID与第二消息ID匹配,所述第二消息ID与所述第三版本的消息相关联;和
响应于确定,从所述网络终端的存储器中移除所述第一下载内容。
11.根据权利要求8-10中的任一项所述的方法,其中所述第二版本的消息是经由以下中的一个接收的:
独立消息传递(SAM),
推送通知,
富通信服务(RCS)寻呼模式消息;
短消息服务(SMS)消息,或
多媒体消息服务(MMS)消息。
12.根据权利要求11所述的方法,其中所述第二版本的消息是经由推送通知接收的,并且所述方法还包括:
在与所述推送通知相关联的端点统一资源标识符(URI)处,经由表述性状态转移(REST)API,从服务器下载所述第二消息数据;或
从所述第二版本的消息中提取所述第二消息数据。
13.根据权利要求8至12中任一项所述的方法,其中:
经由SAM接收所述第二版本的消息;
NSAM包括第一富通信服务(RCS)协议;和
SAM包括第二RCS协议。
14.一种方法,包括:在网络终端处:
接收第一版本的消息,所述第一版本的消息与第一消息数据相关联;
随后,接收第二版本的消息,所述第二版本的消息与第二消息数据相关联;和
启动对所述第一消息数据的检索;
确定对所述第一消息数据的检索失败;和
作为响应,检索所述第二消息数据。
15.根据权利要求14所述的方法,还包括:
完成对所述第一消息数据的检索;
检索所述第二消息数据;
确定与所述第一版本的消息相关联的第一消息ID与第二消息ID相匹配,所述第二消息ID与所述第二版本的消息相关联;和
作为响应,将所述第一消息数据或所述第二消息数据存储在数据存储中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18210278.0A EP3664384A1 (en) | 2018-12-04 | 2018-12-04 | Network message fallback and deduplication |
EP18210278.0 | 2018-12-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111277484A true CN111277484A (zh) | 2020-06-12 |
Family
ID=64664863
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911061613.5A Pending CN111277484A (zh) | 2018-12-04 | 2019-11-01 | 网络消息回退和去重 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP3664384A1 (zh) |
CN (1) | CN111277484A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291223A (zh) * | 2020-10-23 | 2021-01-29 | 摩森特(北京)科技有限公司 | 一种手机终端不支持5g消息的解决方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187629B (zh) * | 2020-10-20 | 2022-04-29 | 珠海市小源科技有限公司 | 5g通信的消息撤回方法、计算机装置及计算机可读存储介质 |
KR20220101845A (ko) * | 2021-01-12 | 2022-07-19 | 삼성전자주식회사 | 메시지를 처리하기 위한 전자 장치 및 그의 동작 방법 |
US11973827B2 (en) | 2021-03-15 | 2024-04-30 | Microsoft Technology Licensing, Llc. | Cloud computing system for mailbox identity migration |
WO2023034982A1 (en) * | 2021-09-03 | 2023-03-09 | Google Llc | Session-less and connection-less message protocol for rcs messages |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2120407A1 (en) * | 2008-05-14 | 2009-11-18 | Nokia Siemens Networks Oy | A message delivery mechanism |
WO2016172213A1 (en) * | 2015-04-21 | 2016-10-27 | Google Inc. | Messaging over multiple channels |
-
2018
- 2018-12-04 EP EP18210278.0A patent/EP3664384A1/en not_active Withdrawn
-
2019
- 2019-11-01 CN CN201911061613.5A patent/CN111277484A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112291223A (zh) * | 2020-10-23 | 2021-01-29 | 摩森特(北京)科技有限公司 | 一种手机终端不支持5g消息的解决方法 |
CN112291223B (zh) * | 2020-10-23 | 2023-03-24 | 摩森特(北京)科技有限公司 | 一种手机终端不支持5g消息的解决方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3664384A1 (en) | 2020-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10863390B2 (en) | Method and apparatus for non-access stratum transport | |
CN111277484A (zh) | 网络消息回退和去重 | |
EP2304907B1 (en) | A message delivery mechanism | |
CA2784453C (en) | System and method for detecting and processing stale messages | |
KR101494688B1 (ko) | 숏 메시지들의 개선된 운반 | |
US9715379B2 (en) | Methods and apparatus to trigger firmware update request in response to a failure event | |
RU2610590C2 (ru) | Служба коротких сообщений, исходящих из мобильных устройств/поступающих в мобильные устройства, без международного абонентского телефонного номера мобильной станции (msisdn), в мультимедийной подсистеме на базе интернет-протокола (ims) | |
US11444984B2 (en) | Terminal interoperation using called-terminal functional characteristics | |
JP5666020B2 (ja) | パケット交換ネットワークを介してアプリケーション発信テキスト・メッセージを配送するための方法および装置 | |
US10812421B2 (en) | Conveying instant messages via HTTP | |
US10506099B2 (en) | Processing SMS messages | |
US8867726B2 (en) | Methods and systems for authorizing call forwarding | |
US8923903B2 (en) | Syncing history information | |
US20230217235A1 (en) | Hss-based p-cscf restoration triggered by as | |
WO2014191985A1 (en) | System and method for routing sms messages sent from mobile equipment and voice calls initiated from mobile equipment | |
US20130267263A1 (en) | Method of Handling Message Transmission and Related Communication Device | |
US10757143B2 (en) | Notifying changes in radio access technology | |
US20140378103A1 (en) | Archiving a delivery status for a text message | |
EP4125254A1 (en) | Restoration of long-duration services | |
WO2014023844A1 (en) | A message processing system and method | |
EP2569960A1 (en) | Improved delivery of short messages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200612 |
|
WD01 | Invention patent application deemed withdrawn after publication |