CN108781226B - 通信系统 - Google Patents

通信系统 Download PDF

Info

Publication number
CN108781226B
CN108781226B CN201780015124.9A CN201780015124A CN108781226B CN 108781226 B CN108781226 B CN 108781226B CN 201780015124 A CN201780015124 A CN 201780015124A CN 108781226 B CN108781226 B CN 108781226B
Authority
CN
China
Prior art keywords
state
server
service
user terminal
indication
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
CN201780015124.9A
Other languages
English (en)
Other versions
CN108781226A (zh
Inventor
L·巴顿
D·M·迪努
I·库拉科娃
O·巴比亚克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108781226A publication Critical patent/CN108781226A/zh
Application granted granted Critical
Publication of CN108781226B publication Critical patent/CN108781226B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web 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/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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/55Push-based network 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Abstract

提供了一种方法,包括:由用户终端向状态服务器发送(301)针对用户终端提供的服务的状态改变信息的请求;由用户终端从状态服务器接收(302)所述状态改变信息的指示;并且由用户终端使用(303)所接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。

Description

通信系统
背景技术
诸如移动电话、台式计算机、平板计算机、膝上型计算机、平板手机等的用户终端可用于向用户提供各种服务。示例服务包括电子邮件、用户简档、电子钱包、联系人列表等。服务可以由单片计算机程序定义,意味着它包含执行所需功能所必需的一切,或者可以由多个模块化计算机程序组成(每个模块化计算机程序包含执行该模块化计算机程序的所需功能所必需的一切)。在执行计算机程序的任何时刻,计算机程序将数据存储为变量,变量表示存储器中的存储位置。在程序执行的给定点处的这些存储器位置的内容被称为计算机程序/服务的状态,并且可以由唯一值表示。重要的是,提供服务的用户终端和网络实体两者都关于服务中的状态的任何改变彼此同步,以确保服务提供的可靠性。因此,两个实体之间必须进行状态交换。
任何特定服务的当前状态可以保存在位于网络中的相应主服务器中。然后,用户终端可以针对服务中的状态信息和/或数据改变的细节而查询主服务器,例如当需要下载新的电子邮件消息时。可以通过推送通知服务器向用户终端通知何时查询主服务器。每当针对用户的特定服务的状态发生改变时,该推送通知服务器就向用户终端发送(未经请求的)消息。用户终端通过联系主服务器以获得关于状态改变的更多信息来响应接收到该通知。例如,通知可以让用户终端知道存在要从主服务器下载的消息。响应于此,用户终端可以联系主服务器以提供消息细节。应当理解,也可以在用户侧引起/发起状态的改变。因此,也可以向主服务器提供关于该状态改变/状态改变请求的信息。
发明内容
发明人已经意识到来自推送通知服务器的推送通知不能保证被递送至用户终端,因此通知可能容易丢失。
对此的一个解决方案是针对状态信息周期性地轮询主服务器。然而,发明人已经意识到这可能导致主服务器变得过载,因为它接收来自多个用户终端的轮询请求。此外,由于从用户终端向主服务器的轮询请求并不总是返回新的/改变的状态信息,因此这些信息不必要地消耗用户终端的资源(例如电池和网络带宽)。这对于靠电池电源操作的用户终端和计量连接上的那些用户终端是不利的,这些用户终端可能在这些不必要的通信上耗尽它们的数据容限。
以下旨在提供解决这些问题的系统。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
根据第一方面,提供了一种方法,包括:由用户终端向状态服务器发送针对用户终端提供的服务的状态改变信息的请求;由用户终端从状态服务器接收所述状态改变信息的指示;并且,由用户终端使用所接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。
根据第二方面,提供了一种装置(例如,用户终端),包括:至少一个处理器;以及至少一个存储器,包括计算机代码,当由所述至少一个处理器执行计算机代码时,使所述装置:向所述状态服务器发送针对用户终端提供的服务的状态改变信息的请求;从状态服务器接收所述状态改变信息的指示;并使用所接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。
根据第三方面,提供了一种计算机程序,包括代码装置,当程序在数据处理装置上运行时,该代码装置适于使得执行权利要求1至12中任一项的步骤。
附图说明
为了更好地理解主题并且示出如何实现主题,现在将仅通过示例的方式参考以下附图,其中:
图1是通信系统的示意图;
图2是用户终端的示意性框图;
图3是示出用户终端的潜在动作的流程图;以及
图4至图9示出了所描述的通信系统的示例中的实体之间的各种信令。
具体实施方式
根据以下内容,提供了一种减轻在期望改变状态信息时主服务器上的负担的机制。术语主服务器在本文中用于表示用于向至少一个用户终端提供服务的网络实体/装置。由于该服务经由至少一个用户终端提供给用户,因此也可以说用户终端提供服务。
特别地,在其中存在被配置为针对状态信息而轮询主服务器的用户终端的系统中,提供了另一个服务器(以下称为状态服务器),其中可以由用户终端从该服务器拉取状态改变信息(或指示状态改变信息的信息)。术语状态改变信息在本文中用于表示指示状态是否已经发生的信息。用户终端通过针对状态改变信息而轮询状态服务器并且作为响应至少接收状态信息的改变的指示来从状态服务器拉取状态改变信息。用户终端可以使用该拉取的指示来确定是否抑制从主服务器(即,向用户终端提供服务的服务器)取回状态信息。换句话说,用户终端可以基于从状态服务器接收的状态改变信息来确定是否覆盖其配置针对状态信息而轮询主服务器。
如下面更详细讨论的,服务的状态可以由唯一值表示,使得该值的改变可以指示状态的改变已经发生。在服务由多个微服务组成的情况下,每个微服务可以具有指示其状态的相关值。此外,由多个微服务组成的服务也可以具有指示该服务状态的自己的值。该整体状态可以由形成服务的微服务的状态的聚合而形成。换句话说,整体状态可以取决于形成服务的微服务的当前状态。这意味着这些微服务中的一个微服务中的状态改变也会自动改变用于表示整个服务状态的值。此外,该技术可以应用于特定用户使用的所有服务。例如,系统的用户通常具有可用于标识他/她的唯一标识符(例如,用户ID)。该用户可以与该用户订阅的多个服务相关联。服务可以由或可以不由微服务形成,但是所述多个服务中的每一个具有其自己的值,表示那些服务的当前状态。可以将这些值聚合在一起以形成用户整体的当前状态。换句话说,用户整体的状态(例如,用户简档状态)可以取决于用户订阅的服务的状态。因此,用户终端可以使用单个值(“用户简档状态”)针对用户整体的状态信息的改变进行轮询。因此,用户简档的状态改变可以指示用户订阅的至少一个服务的状态已经改变。
可以以各种方式进行确定。总的来说,用户终端使用拉取的状态改变信息来确定特定服务的状态是否已经改变。用户终端可以包括本地高速缓存,其包括每个服务的当前状态。当从状态服务器接收到服务的当前状态的指示时,用户终端可以将该接收的状态与存储在其本地高速缓存中的当前状态进行比较。如果这些不同(即,如果存在用户终端先前未发现的状态改变),则用户终端可以按计划轮询主服务器。然而,如果比较产生存储的当前状态与存储在服务器上的当前状态相同,则用户终端抑制对主服务器的计划的轮询,从而不轮询主服务器。换句话说,用户终端可以被配置为当拉取的状态改变信息指示特定服务的当前状态信息不同于存储在用户终端上的该服务的状态信息时,仅在接收到拉取的状态改变信息之后才从主服务器取回状态信息。为此,如果用户终端根据拉取的状态信息确定特定服务的状态没有改变,则可以抑制/取消用于取回状态和/或服务信息的对主服务器的任何计划的轮询。
作为示例,我们考虑服务是联系人应用程序的情况。最初,假设用户终端针对关于联系人应用程序的状态的信息而轮询状态服务器。响应于该轮询,用户终端从状态服务器接收指示当前状态的标识符。将该标识符与本地存储在用户终端中的联系人服务的相应标识符进行比较。此比较揭示联系人应用程序中的状态没有改变(例如,没有新的联系人要添加/删除)。因此,当用户终端针对联系人服务的状态信息而轮询联系人主服务器的下一个预定时间到来时,用户终端对此进行抑制,因此在调度时不会轮询联系人主服务器。
随后,假设联系人应用程序的状态已经改变(例如,已经添加了新的联系人)。可以通过推送通知系统将该状态改变推送到用户终端。该状态改变的通知可能会丢失。由于通知已丢失,用户终端可被配置为从状态服务器查询当前状态。由于用户终端不知道丢失的推送通知,所以用户终端可以被配置为以规则的周期性或非周期性的间隔从状态服务器查询当前状态。响应于该查询,状态服务器返回与本地存储在用户终端上的状态标识符不同的联系人服务的标识符。不同的标识符指示状态已经改变(例如,已经将新联系人添加到联系人列表)。因此,当用户终端针对联系人服务的状态信息而轮询联系人主服务器的下一个预定时间到来时,用户终端按计划轮询联系人主服务器。以这种方式,只有在有新的/更新的状态信息要取回时才轮询主服务器,这减少了主服务器的负担。
为了仅通过示例的方式理解本系统可以在其中操作的环境,我们描述了可以将本申请的主题实施到其中的潜在通信系统和用户终端。可以理解,该网络的确切布局不是限制性的。
图1示出了其中可以实现本公开的教导的通信系统的示例。该系统包括通信介质101,在实施例中是通信网络,例如基于分组的网络,例如包括因特网和/或移动蜂窝网络(例如,3GPP网络)。该系统还包括多个用户终端102,每个用户终端102可操作以通过有线和/或无线连接连接到网络101。例如,每个用户终端可以包括智能手机、平板计算机、膝上型计算机或台式计算机。在实施例中,该系统还包括连接到网络101的网络装置103。然而,应当理解,在某些情况下可以不使用网络装置,例如一些对等实时通信协议。这里使用的术语网络装置是指逻辑网络装置,其可以包括一个或多个物理站点处的一个或多个物理网络装置单元(即,网络装置103可以或可以不分布在多个不同的地理位置)。
图2示出了根据本文公开的实施例的用户终端102之一的示例。用户终端102包括接收器201,用于通过通信介质101从一个或多个其他用户终端102接收数据,例如,通过网络接口,例如有线或无线调制解调器,用于通过因特网或3GPP网络接收数据。用户终端102还包括非易失性存储设备202,即非易失性存储器,包括一个或多个内部或外部非易失性存储设备,例如一个或多个硬盘驱动器和/或一个或多个EEPROM(有时也称为闪存)。此外,用户终端包括用户接口204,用户接口204包括对用户的至少一个输出,例如诸如屏幕之类的显示器,和/或诸如扬声器或耳机插座之类的音频输出。用户接口204通常还将包括允许用户控制用户终端102的至少一个用户输入,例如触摸屏、键盘和/或鼠标输入。
此外,用户终端102包括消息收发应用程序203,其被配置为从另一个用户终端102或网络装置103上的消息收发应用程序的补充实例接收消息(在这种情况下,消息可以源自经由网络装置103发送消息的发送用户终端,和/或可以源自网络装置103)。
消息收发应用程序被配置为经由接收器201通过网络101(或更一般地,通信介质)接收消息,并且将所接收的消息存储在存储设备202中。出于以下讨论的目的,所描述的用户终端102将被视为接收(目的地)用户终端,从用户终端102中的一个或多个其他发送用户终端102接收消息。此外,以下任何一个都可以被认为是与接收者直接通信的实体:作为路由器,集线器或位于网络101内的一些其他类型的接入节点。还应当意识到,接收用户终端102的消息收发应用程序203还能够在另一方向上将消息发送到在发送用户终端和/或网络装置103上的应用程序的互补实例(例如,作为同一对话的一部分),也是通过网络101或其他这样的通信介质。
消息收发应用程序包括代码,当在处理器上执行时,该代码使得显示器呈现对话可视化环境。对话可视化环境如上所述,并提供与视听呼叫相关联的事件的视觉指示。
消息收发应用程序可以使用各种通信协议/编解码器中的任何一种来传输音频和/或视觉数据。例如,音频数据可以使用称为实时传输协议RTP(如RFC 1889中详述的)的协议通过网络而流式传输,RTP是用于流式传输媒体的端到端协议。与其相关联的控制数据可以使用称为实时传输控制协议(RTCP)(如RFC 3550中详述)的协议来格式化。可以使用诸如会话发起协议SIP之类的协议来建立不同装置之间的会话。
以下讨论了当前描述的系统的特定实施例。应当理解,在不超出要求保护的发明的范围的情况下,可以在这些实施例中进行各种修改。
图3是示出可以由根据本文教导的一些示例操作的用户终端执行的潜在动作的流程图。
在步骤301,用户终端被配置为向状态服务器发送针对用户终端提供的服务的状态改变信息的请求。在一个示例中,该请求可以包括存储在用户终端处的服务的当前状态的标识符的副本。在另一示例中,该请求可以仅请求与状态服务器处存储的服务的当前状态有关的信息,而不包括存储在用户终端处的服务的当前状态的标识符的副本。
在步骤302,用户终端被配置为响应于发送器请求而从状态服务器接收所请求的状态改变信息的指示。该指示可以采取许多不同的形式,这取决于所涉及的服务和所选择的实现方式。
例如,所接收的状态信息可以包括当前状态标识符,例如HTTP中使用的实体标签(ETag)。ETag是由web服务器分配给在统一资源标识符处找到的资源的特定版本的不透明标识符。如果该URL处的资源表示发生改变,则会分配新的不同ETag。当前状态标识符/ETag在任何特定时间唯一地标识服务的状态。
在另一示例中,所接收的状态信息可以仅指示状态信息是否已经改变而不提供特定标识符。在这种情况下,状态服务器可以已经接收到存储在用户终端处的标识符的副本(如上所述)和/或接收到存储在用户终端处的标识符最后更新的时间戳,并且使用该信息来确定自那时起存储在状态服务器上的状态信息是否不同/已经改变。然后可以将该确定的结果提供给用户终端。以这种方式使用标识符来指示和/或确定状态改变的优点在于它不会在系统中引起任何隐私问题,因为没有私人信息用于确定标识符。
该指示可以包括关于状态改变的进一步信息,例如实际已经改变的信息。但是,此信息的传输可能是资源密集型的(就要传输的数据量,存储改变的信息所需的存储器等而言),它可能不适用于每个类型的服务或服务信息的每一次改变。
在步骤303,用户终端被配置为使用所接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。具体地,如果所接收的指示向用户终端指示状态信息已经改变,则用户终端不偏离其正常地/按计划地轮询主服务器的编程。相反,如果所接收的指示向用户终端指示状态信息还没有改变,则用户终端偏离其正常地/按计划地轮询主服务器的编程,并且因此不针对当前服务信息而轮询主服务器。
被查询的服务可以是唯一的单片服务和/或可以由多个模块化服务(例如微服务)构建。唯一的单片服务可以是针对另一服务的模块化服务。在被轮询状态信息的服务包括多个模块化服务的情况下,来自状态服务器的所接收指示可以包括作为整体的服务的标识符和/或包括贡献于服务的每个模块化服务的标识符。后一选项允许用户终端选择针对进一步的信息而要轮询哪个主服务器,这是因为否则如果没有单独的标识符,则针对进一步的信息而必须轮询模块化服务的所有主服务器(多个)。可以理解,单个主服务器可以仅为一个或多个服务提供状态信息,这取决于所选择的实现方式。
如上所述,服务的状态可以由唯一值(例如eTag)表示,使得该值的改变可以指示状态的改变已经发生。在服务由多个微服务组成的情况下,每个微服务可以具有指示其状态的相关值。此外,由多个微服务组成的服务也可以具有指示服务状态的自己的值。该整体状态可以由形成服务的微服务的状态的聚合形成。这意味着这些微服务中的一个微服务中的状态改变也会自动改变用于表示整个服务状态的值。此外,该技术可以应用于特定用户使用的所有服务。例如,系统的用户通常具有可用于标识他/她的唯一标识符(例如,用户ID)。该用户可以与该用户订阅的多个服务相关联。服务可以由或可以不由微服务形成,但是所述多个服务中的每一个具有其自己的值,表示那些服务的当前状态。可以将这些值聚合在一起以形成用户整体的当前状态。因此,用户终端可以使用单个值针对关于用户整体的状态信息的改变来进行轮询。因此,用户终端的状态改变可以指示用户订阅的至少一个服务的状态已经改变。
用户终端可以以各种不同方式针对状态信息来进行轮询。例如,如上所述,用户终端可以被配置为针对用户整体的状态信息进行轮询。当指示用户整体的状态信息已经改变时,用户终端然后可以轮询用户订阅的不同服务的状态的改变。这可以减少整体所需的信令量,因为只有在用户简档的状态已经改变时才执行针对各个服务的轮询。类似地,这可以应用于特定服务内的不同微服务,其中仅在整个服务的状态改变时形成服务的各个微服务的状态被轮询。作为另一示例,状态服务器可以提供与用户相关联的每个服务的状态的值,而不是响应于针对用户的状态的轮询提供单个值。状态服务器可以被配置为仅在状态服务器已经确定用户终端已经发生状态改变时才提供该扩展状态信息。可替代地,可以响应于关于用户终端的当前状态的任何轮询来提供该扩展状态信息。
当从状态服务器针对状态改变进行轮询时,用户终端可以向状态服务器提供存储在用户终端处的针对该服务/服务/用户的当前状态的细节。状态服务器可以执行其自己的比较以确定在用户终端处是否存在状态改变。例如,用户终端处的本地改变可以导致状态改变。在用户终端侧发生状态改变的情况下,这可以导致状态服务器更新其对于该服务器的状态。
状态的当前值可以与指示当前值改变的时间的时间戳相关联。这些时间戳可以进一步用于确定哪个状态对应于最近的一组事件,并且可以用于解决冲突。例如,当服务的用户终端上的当前状态被通知给状态服务器并且这与状态服务器上的服务的当前状态不同时,表示何时在状态服务器和用户终端中的每一个上更新状态的相应的时间戳可用于确定哪个状态(即在哪个实体上)是最近的状态改变,因此应该在两个实体处保存。
当存在状态改变时,可以从状态服务器向用户终端提供状态的当前值。该当前值可以由用户终端使用(使用与存储在用户终端中的状态的当前值的比较操作)来确定状态是否已经改变,并且因此是否应该轮询主服务器。然而,应当理解,状态服务器可以仅提供轮询状态已经改变的通知而不提供新状态值。在随后的轮询期间(取决于实现方式),可以改为从主服务器拉取新的状态值。
如果一个服务/多个服务/用户的当前状态被提供给状态服务器,则状态服务器可以将该接收状态与存储在状态服务器中的状态进行比较。状态服务器可以根据该比较确定它向用户终端提供的通知的形式。例如,状态服务器可以被配置为当确定存在状态改变时,仅将每个请求状态的值发送回用户终端。可以发送回所有请求的状态值,或者仅发送已经改变的状态值(取决于系统的实现方式)。如果没有改变,则状态服务器可以仅以“无改变”位设置的指示而进行响应。这可以有助于节省系统开销。然而,应当理解,状态服务器可以替代地被配置为始终提供存储在服务器处的状态的当前值的细节。
如上所述,上述系统还可以与推送通知服务器结合使用。推送通知服务器被配置为当状态发生改变时向用户终端推送通知。通知可以仅仅是已经发生改变的通知而不提供更多信息。通知可以标识哪个变量已经改变。通知可以提供改变的信息本身,使得用户终端不必针对新的服务信息而轮询主服务器。如上所述,来自推送通知服务器的通知并不总是由用户终端接收,因为不能保证传送,并且一些链接可能是有损的。使用状态服务器可以帮助减轻任何丢失的推送通知的影响。例如,如果对于特定服务超过预定时间没有接收到推送通知,则用户终端可以被配置为针对特定服务的服务状态信息而轮询状态服务器轮。该预定时间的长度可以取决于所提供的服务以及关于该服务的状态信息频率的历史知识。
参考图4至9描述在上述系统下的各种信令的示例。
在图4中,示出了网络侧401a和用户终端侧401b。网络侧包括主服务器402、推送通知服务器403和状态服务器404。用户终端侧包括主库405、状态服务器库406、推送通知库407和用户接口408。
在网络侧,特定服务的状态信息在主服务器402处改变。这通过主服务器在消息410a中向状态服务器404发送新状态标识符来通知状态服务器404。可选地,状态服务器404在消息410b中向主服务器402确认对该状态标识符的接收。然后,主服务器402在消息411a中向推送通知服务器403发信号通知状态改变的细节。可选地,推送通知服务器403在消息41lb中向主服务器402确认对该消息411a的接收。
推送通知服务器然后在消息412中向推送通知库407发送该状态改变的指示。响应于接收到该指示,推送通知库在消息413中向主库405发信号以通知主库该改变。然后,主库405可以通过轮询主服务器402来在消息414a中从主服务器405取回在状态改变中改变的信息的细节。主服务器可以通过在消息414b中提供关于状态改变的进一步细节来响应主库405轮询。响应于该消息,更新用户终端的本地存储高速缓存,并且主库405将消息415发送到用户接口以使得状态的改变被呈现给用户终端的用户(例如,通过显示器)。
图5中的架构与图4中的架构的不同之处在于,在网络侧401a中没有示出状态服务器,并且主服务器402被描绘为两部分:402a和402b。其余架构与图4所示相同,因此使用相同的编号来确保清楚。但是,应该理解,这不是限制性的。
在图5中,特定服务的状态信息在第一主服务器402a处改变。这通过第一主服务器在消息510a中向推送通知服务器403发送新状态信息(例如,新状态标识符)而向推送通知服务器403发信号通知。可选地,推送通知服务器403在消息510b中向主服务器402确认接收到该状态标识符。然后,推送通知服务器403在信号511中向用户终端401b中的推送通知库407发信号通知该状态改变。响应于此,推送通知库407在信号512中向主服务器库405发信号通知该改变。响应该信号,主服务器库405请求513a第二主服务器提供该信息。此时,第二主服务器402b尚未更新,因此在消息513b中将关于先前状态的信息返回到主库405。
在接收到该消息513b时,主库405在消息514a中再次向第二主服务器402b请求新状态信息之前等待一段时间。此时,第二主服务器仍未更新,因此在消息514b中再次向主库405返回关于先前(即未更新)状态的信息。在接收到该消息514b时,主库在消息515a中向第二主服务器402b请求新状态信息之前再次等待一段时间。该时间段可以与前一时间段相同或不同(例如,可以使用随机退避时间)。此时,第二主服务器中的状态信息已被更新,因此新的状态信息在消息515b中返回到主库405。在接收到该消息时,主库405通知516用户接口408更新在用户接口上呈现的服务的细节。
图6的架构与图4中的相同,因此相同的数字用于这些元件。应理解,这不是限制性的。
在图6的示例中,用户终端401b的状态库406针对关于服务的状态信息而轮询610a在网络侧401a中的状态服务器404。此时,状态信息没有改变。因此,从状态服务器404向状态库406提供关于该效果的指示610b。在接收到该响应之后的一段时间之后,状态库针对关于服务的状态信息而再次轮询611a状态服务器404。在这种情况下,状态服务器404以状态改变的指示(例如,状态的新标识符)来响应611b状态库406。在状态库406向主库405通知612状态信息的改变之前,这由状态库406本地存储。响应于此,主库405针对新的状态信息而查询613a在网络401a中的主服务器402。响应于该查询613a,将新状态信息从主服务器402发送613b到主库405。在接收到新状态信息时,主库405向用户接口408通知614状态改变以更新通过用户接口呈现的内容。
独立于主服务器402和主库405的动作,状态库可以在一段时间之后针对状态改变信息而继续轮询615a状态服务器404。该时间段可以与前一时间段相同或不同。由于自从先前(通知的)更新61lb以来在状态服务器404处记录的状态没有改变,因此状态服务器向状态库406返回指示状态信息没有改变的消息615b。然后,状态库可以在再次轮询状态服务器404之前等待另一个时间段。如前所述,该时间段可以与状态库在轮询之间等待的前一时间段相同或不同。在示例中,指数退避算法用于确定何时轮询。
图7使用与图5b相同的架构,但是未示出推送通知服务器403,而是示出了状态服务器404。因此,相同的数字将用于与这些元件的一致性。应理解,这不是限制性的。
最初,我们假设在第一主服务器402a中更新特定服务的状态。这被发信号通知710a到状态服务器404并且可选地由状态服务器404向第一主服务器402a确认710b。随后,状态库406针对与特定服务有关的状态信息而轮询711a状态服务器404,并从状态服务器404接收指示服务状态已改变的响应711b。响应于此,状态库406向主库405通知712该服务的状态已经改变。然后,主库405针对关于该状态改变的信息而轮询713第二主服务器402b。在那个时间点,第二主服务器402b的高速缓存尚未被更新以反映状态改变,因此第二主服务器以先前的状态信息(更新前)进行响应713b。响应于此,主库405在针对新的状态信息而再次轮询714a第二主服务器402b之前等待一段时间。在该示例中,此时在第二主服务器402b中仍未更新状态信息,因此第二主服务器402b用先前的状态信息响应714b。同样,响应于此,主库405针对新状态信息而轮询715a第二主服务器402b之前等待一段时间(其可以与先前的时间段相同或不同)。响应于该轮询715a,第二主服务器402b用新的状态信息响应715b。在接收到新状态信息时,状态库404向用户接口408发信号通知716以更新当前正在呈现的服务的细节以反映新状态信息。
图8使用与图4相同的架构,因此为了一致性将使用架构的相同数字。应理解,这不是限制性的。
在图8中,状态库406针对特定服务器的状态改变的指示而轮询810a状态服务器404。状态服务器404用指示状态未改变的消息810b对此作出响应。随后,用户接口408接收针对该服务已经发生状态改变的指示(例如,用户已经购买)并且将该信息用信号通知711给主库404。主库可以针对关于该状态改变的状态信息而轮询712a主服务器402。此时,主服务器402不具有关于状态改变的信息,因此用旧状态信息响应712b。然后,主库405可以在针对新的状态信息而再次轮询713a主服务器402之前等待一段时间。此时,已在主服务器402处更新状态信息,并且因此主服务器402用新状态信息响应713b。响应于该新状态信息,主服务器405向用户接口408通知新状态信息以呈现给用户。例如,用户接口408可以使电子钱包显示服务与此相关的新余额。
图9涉及主服务器402如何使其状态信息由服务提供商901更新。为清楚起见,将使用相同的数字来引用与图4至图8中的那些相对应的相应架构元件。
图9中的服务提供商901包括命令管理用户902和服务存储设备903。用户终端401b针对关于状态改变的信息而轮询910a主服务器402(例如,联系人列表上的新联系人)。此时,存储在主服务器402中的先前状态信息没有改变,因此主服务器402用先前状态信息的指示来响应910b。同样响应于该轮询,主服务器402针对新的存储信息而轮询911a服务存储设备903,并且这可选地由服务存储器903确认911b。在一段时间之后,用户终端401b针对新的状态信息再次轮询912a主服务器402。此外,此时,服务的状态信息尚未在主服务器402中更新,并且因此主服务器用先前的状态信息响应912b。在此之后,服务存储设备903向主服务器402发送913a新状态信息(例如,新联系人的详细信息),新状态信息可选地由主服务器402确认913b。在接收新状态信息之后,用户终端401b针对新的状态信息再次轮询914a主服务器402。响应于该轮询914a,主服务器402用更新的状态信息向用户终端401b响应914b。
关于以上内容,主库/用户终端可以使用诸如GET请求的http请求来向主服务器轮询服务信息。HTTP报头可以包括状态值(例如,ETag)。HTTP请求还可以包括ETag/状态值的时间戳。示例HTTP请求可以是以下形式:GET/users/username/services3.0(ChangeTag+ETag)。
上述技术对于非实时服务特别有用,其中延迟不是实时服务的问题。因此,上述技术可以仅应用于非实时服务。然而,应理解,这些非实时服务可以形成实时服务共存的通信环境的一部分。例如,服务可以一起作用以提供视听呼叫的环境。在这种情况下,存在与例如呼叫本身相对应的实时服务,以及与用于进行呼叫的环境相对应的非实时服务(例如,联系人列表、用户简档、用户化身,等等)。在这种情况下,上述技术可以仅应用于一些服务(例如,非实时服务)。
在所有上述系统中,可以周期性地或非周期性地轮询状态服务器。可以在记录状态改变之后的预定时间段内轮询状态服务器,而不从推送通知服务器接收状态改变的推送通知。可以在调度主服务器被轮询之前的预定时间段内轮询状态服务器。这些时间段可以不同。可以使用用户终端的指数和/或随机退避来轮询状态服务器。
在上述系统中,假设用户终端具有本地高速缓存,其中存储了用于订阅服务的当前状态信息。由于可以存在许多服务,因此除了状态服务器上的高速缓存之外,可以针对高读/写比率优化该高速缓存。
通常,可以使用软件、固件、硬件(例如,固定逻辑电路)或这些实现方式的组合来实现本文描述的任何功能。这里使用的术语“模块”、“功能”、“组件”和“逻辑”通常表示软件、固件、硬件或其组合。在软件实现方式的情况下,模块、功能或逻辑表示在处理器(例如一个CPU或多个CPU)上执行时执行指定任务的程序代码。程序代码可以存储在一个或多个计算机可读存储器设备中。下面描述的技术的特征是平台无关的,意味着可以在具有各种处理器的各种商业计算平台上实现这些技术。
例如,用户终端还可以包括使得用户终端的硬件执行操作的实体(例如,软件),例如处理器功能块等。例如,用户终端可以包括计算机可读介质,该计算机可读介质可以被配置为维护使得用户终端,更具体地,用户终端的操作系统和相关硬件执行操作的指令。因此,指令用于配置操作系统和相关硬件以执行操作,并且以这种方式导致操作系统和相关硬件的转换以执行功能。指令可以由计算机可读介质通过各种不同配置提供给用户终端。
计算机可读介质的一种这样的配置是信号承载介质,并且因此被配置为例如经由网络将指令(例如,作为载波)发送到计算设备。计算机可读介质还可以被配置为计算机可读存储介质,因此不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘、闪存、硬盘存储器以及可以使用磁性、光学和其他技术来存储指令和其他数据的其他存储器设备。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但应理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。而是,公开了上述具体特征和动作作为实现权利要求的示例形式。
鉴于上述,提供了一种方法,包括:由用户终端向状态服务器发送对用户终端提供的服务的状态改变信息的请求;由用户终端从状态服务器接收所述状态改变信息的指示;并且,由用户终端使用所述接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。
指示可以是实体标签。
所述使用可以包括:将接收到的指示与指示所述服务的状态的本地存储值进行比较;以及如果在所接收的指示和所存储的值之间存在对应关系,则确定抑制对所述主服务器的所述轮询。所述使用可以进一步包括:如果所接收的指示与所存储的值之间没有对应关系,则确定轮询所述主服务器。
该方法还可以包括:利用所述指示接收关于所述状态信息的细节;并且根据所接收的细节来确定抑制对所述主服务器的所述轮询。
该方法还可以包括:仅当在预定的先前时间段内没有从推送服务器接收到关于服务状态改变的通知时,才发送所述状态改变信息请求。
该服务可以包括多个微服务,并且所述指示包括用于所述多个微服务中的每一个的单独的当前状态指示。可以仅针对那些所接收的指示指示该微服务的状态未改变的微服务来抑制对主服务器的所述轮询。
该服务可以包括多个微服务,并且所述指示可以包括针对所述服务的单个当前状态指示。所述单个当前状态指示可以是与用户终端的用户相关联的多个服务的状态信息的聚合。
该服务可以包括多个服务,并且所述指示可以包括针对所述服务的单个当前状态指示。所述单个当前状态指示可以是针对多个服务中的每个服务的状态信息的聚合。
该服务可以是非实时服务。
该方法还可以包括从推送通知服务器接收关于服务状态的改变的通知。
进一步公开了一种装置(例如,用户终端),包括:至少一个处理器;以及至少一个存储器,包括计算机代码,当由所述至少一个处理器执行时,计算机代码使所述装置:向状态服务器发送对所述用户终端提供的服务的状态改变信息的请求;从所述状态服务器接收所述状态改变信息的指示;以及使用所述接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询。
该指示可以是实体标签。
所述使用可以包括:将所接收的指示与指示服务状态的本地存储值进行比较;如果所接收的指示与所存储的值之间存在对应关系,则确定抑制对主服务器的所述轮询。所述使用可以进一步包括:如果所接收的指示与所存储的值之间没有对应关系,则确定轮询所述主服务器。
还可以使该装置:利用所述指示接收关于所述状态信息的细节;并根据接收到的细节确定抑制对主服务器的所述轮询。
可以进一步使该装置:仅当在预定的先前时间段内没有从推送服务器接收到关于服务中的状态改变的通知时,才发送对状态改变信息的所述请求。
该服务可以包括多个微服务,并且所述指示可以包括用于所述服务的单个当前状态指示。
还公开了一种计算机程序,包括代码装置,当所述程序在数据处理装置上运行时,所述代码装置适于使得执行权利要求1至12中任一项的步骤。
进一步公开了一种装置,包括:用于向状态服务器发送对用户终端提供的服务的状态改变信息的请求的单元;用于从状态服务器接收所述状态改变信息的指示的单元;以及用于使用所述接收的指示来确定是否抑制对主服务器的与所述服务有关的轮询的单元。
该指示可以是实体标签。
所述使用可以包括:将所接收的指示与指示服务状态的本地存储值进行比较;如果所接收的指示与所存储的值之间存在对应关系,则确定抑制对主服务器的所述轮询。所述使用可以进一步包括:如果所接收的指示与所存储的值之间没有对应关系,则确定轮询所述主服务器。
该装置还可以包括:用于利用所述指示接收关于所述状态信息的细节的单元;以及用于根据所接收的细节确定抑制对主服务器的所述轮询的单元。
该装置还可以包括:用于仅在未在预定的先前时间段内从推送服务器接收到关于服务中的状态改变的通知时才发送对状态改变信息的所述请求的单元。
该服务可以包括多个微服务,并且所述指示可以包括用于所述服务的单个当前状态指示。

Claims (15)

1.一种用于通信的方法,包括:
由用户终端向状态服务器发送针对由主服务器向所述用户终端提供的服务的状态改变信息的请求,其中,所述状态服务器是不同于所述主服务器的另一服务器,并且其中,所述主服务器向所述状态服务器发信号通知状态信息的改变;
由所述用户终端从所述状态服务器接收所述状态改变信息的指示;以及
由所述用户终端使用所接收的指示来确定是否抑制对所述主服务器的与所述服务有关的轮询。
2.如权利要求1所述的方法,其中所述指示是实体标签。
3.如前述任一权利要求所述的方法,其中所述使用包括:
将所接收的指示与指示所述服务的状态的本地存储的值进行比较;以及
如果在所接收的指示和所存储的值之间存在对应,则确定抑制对所述主服务器的所述轮询。
4.如权利要求3所述的方法,其中所述使用还包括:如果所接收的指示与所存储的值之间不存在对应,则确定轮询所述主服务器。
5.如权利要求1或2所述的方法,还包括:
利用所述指示接收关于所述状态信息的细节;并且
根据所接收的细节来确定抑制对所述主服务器的所述轮询。
6.如权利要求1或2所述的方法,还包括:
仅当在预定的先前时间段内没有从推送服务器接收到关于所述服务的状态改变的通知时,才发送针对状态改变信息的所述请求。
7.如权利要求1或2所述的方法,其中所述服务包括多个微服务,并且所述指示包括针对所述多个微服务中的每一个的单独的当前状态指示。
8.如权利要求7所述的方法,其中仅对所接收的指示指示该微服务的状态未改变的那些微服务而抑制对所述主服务器的所述轮询。
9.如权利要求1或2所述的方法,其中所述服务包括多个微服务,并且所述指示包括针对所述服务的单个当前状态指示。
10.如权利要求9所述的方法,其中所述单个当前状态指示是针对所述多个微服务中的每个微服务的状态信息的聚合。
11.如权利要求1或2所述的方法,其中所述服务是非实时服务。
12.如权利要求1或2所述的方法,还包括从推送通知服务器接收关于所述服务的状态的改变的通知。
13.一种用于通信的装置,包括:
至少一个处理器;以及
至少一个存储器,其包括计算机代码,当所述计算机代码由所述至少一个处理器执行时,使得所述装置:
向状态服务器发送针对由主服务器向用户终端提供的服务的状态改变信息的请求,其中,所述状态服务器是不同于所述主服务器的另一服务器,并且其中,所述主服务器向所述状态服务器发信号通知状态信息的改变;
从所述状态服务器接收所述状态改变信息的指示;以及
使用所接收的指示来确定是否抑制对所述主服务器的与所述服务有关的轮询。
14.如权利要求13所述的装置,其中所述指示是实体标签。
15.一种计算机程序,包括代码单元,当所述程序在数据处理装置上运行时,所述代码单元适于使得执行权利要求1至12中任一项的步骤。
CN201780015124.9A 2016-03-04 2017-02-27 通信系统 Active CN108781226B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1603785.5 2016-03-04
GBGB1603785.5A GB201603785D0 (en) 2016-03-04 2016-03-04 Communication system
US15/160,628 2016-05-20
US15/160,628 US11425209B2 (en) 2016-03-04 2016-05-20 Communication system
PCT/US2017/019592 WO2017151462A1 (en) 2016-03-04 2017-02-27 Communication system

Publications (2)

Publication Number Publication Date
CN108781226A CN108781226A (zh) 2018-11-09
CN108781226B true CN108781226B (zh) 2021-11-09

Family

ID=55859023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780015124.9A Active CN108781226B (zh) 2016-03-04 2017-02-27 通信系统

Country Status (5)

Country Link
US (3) US11425209B2 (zh)
EP (1) EP3417598B1 (zh)
CN (1) CN108781226B (zh)
GB (1) GB201603785D0 (zh)
WO (1) WO2017151462A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201603785D0 (en) 2016-03-04 2016-04-20 Microsoft Technology Licensing Llc Communication system
CN110443674B (zh) * 2019-06-27 2021-09-07 口碑(上海)信息技术有限公司 订单数据的拉取方法及装置、存储介质、计算机设备
US11363441B2 (en) 2019-09-24 2022-06-14 At&T Intellectual Property I, L.P. Facilitating mobility as a service in fifth generation (5G) or other advanced networks
US11159990B2 (en) * 2019-10-29 2021-10-26 At&T Intellectual Property I, L.P. Microservices coordinator for 5G or other next generation network
US11038763B1 (en) 2019-12-02 2021-06-15 At&T Intellectual Property I, L.P. Intelligent policy control engine for 5G or other next generation network
US11803416B1 (en) * 2020-12-16 2023-10-31 Wells Fargo Bank, N.A. Selection and management of devices for performing tasks within a distributed computing system
US11582327B1 (en) * 2021-10-21 2023-02-14 Citrix Systems, Inc. Dynamically coordinated service maintenance operations and adaptive service polling for microservices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008029133A1 (en) * 2006-09-08 2008-03-13 Blue Whale Systems Limited Intelligent message receiving method and apparatus
CN104539507A (zh) * 2013-08-27 2015-04-22 厦门三五互联科技股份有限公司 标记邮件阅读状态的方法、电子邮件系统和状态服务器

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000187626A (ja) * 1998-10-16 2000-07-04 Mitsubishi Electric Corp アプリケ―ション間デ―タ送受信システム及びアプリケ―ション間デ―タ送受信方式及びアプリケ―ション間デ―タ送受信方法及びプログラムを記録したコンピュ―タ読取可能な記録媒体
US6477565B1 (en) 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US20020042830A1 (en) 2000-03-31 2002-04-11 Subhra Bose System, method and applications real-time messaging over HTTP-based protocols
US6901415B2 (en) 2001-06-27 2005-05-31 Microsoft Corporation Method and system for processing notifications
US9565275B2 (en) 2012-02-09 2017-02-07 Rockwell Automation Technologies, Inc. Transformation of industrial data into useful cloud information
JP2005041127A (ja) * 2003-07-23 2005-02-17 Brother Ind Ltd ステータス情報通知システム及びネットワーク端末装置及び通信処理装置
US7746782B2 (en) * 2004-03-31 2010-06-29 Siemens Enterprise Communications, Inc. Traffic control in an internet protocol network
US7895262B2 (en) 2004-05-27 2011-02-22 Microsoft Corporation Web service application protocol and SOAP processing model
CN101087263B (zh) 2006-06-06 2011-09-28 阿里巴巴集团控股有限公司 一种通过搜索引擎获取用户状态信息的方法及系统
CN2930125Y (zh) 2006-07-05 2007-08-01 阿里巴巴公司 一种文件传送系统
CN101115094B (zh) 2006-07-29 2013-04-24 华为技术有限公司 提供通信业务的方法和系统及触发器装置
US8239520B2 (en) * 2007-04-05 2012-08-07 Alcatel Lucent Network service operational status monitoring
US20090144359A1 (en) * 2007-12-04 2009-06-04 Telefonaktiebolaget L M Ericsson (Publ) Mobile access to internet-based application with reduced polling
US8650154B2 (en) 2008-02-19 2014-02-11 International Business Machines Corporation Document synchronization solution
US20090300169A1 (en) 2008-06-03 2009-12-03 Microsoft Corporation Synchronization throttling based on user activity
JP5267211B2 (ja) * 2009-02-26 2013-08-21 富士通株式会社 無線端末装置
US9165085B2 (en) 2009-11-06 2015-10-20 Kipcast Corporation System and method for publishing aggregated content on mobile devices
US8228832B2 (en) 2010-01-25 2012-07-24 Motorola Mobility, Inc. USSD transport method and device
US20120028614A1 (en) * 2010-07-30 2012-02-02 Bertin Olivier J Method and system for processing unified state change notifications
US20120203932A1 (en) 2011-02-08 2012-08-09 Microsoft Corporation Multi-master media metadata synchronization
US9477734B2 (en) * 2011-05-10 2016-10-25 Microsoft Technology Licensing, Llc Data synch notification using a notification gateway
US8788881B2 (en) 2011-08-17 2014-07-22 Lookout, Inc. System and method for mobile device push communications
US20130254710A1 (en) 2012-03-22 2013-09-26 Microsoft Corporation Stacks for content organization
JP5665142B2 (ja) * 2012-09-26 2015-02-04 Necカシオモバイルコミュニケーションズ株式会社 情報処理装置、投稿システム、表示制御方法およびプログラム
US20140337472A1 (en) 2012-12-13 2014-11-13 Level 3 Communications, Llc Beacon Services in a Content Delivery Framework
KR102056080B1 (ko) * 2013-03-19 2019-12-16 삼성전자주식회사 상태 정보 제공 방법 및 장치
US9219776B2 (en) 2013-06-24 2015-12-22 Microsoft Technology Licensing, Llc Aggregating content from different content sources at a cloud service
US20160110467A1 (en) 2014-10-16 2016-04-21 Revolution Technologies, Inc. Tagged proximity training and timing
GB201603785D0 (en) 2016-03-04 2016-04-20 Microsoft Technology Licensing Llc Communication system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008029133A1 (en) * 2006-09-08 2008-03-13 Blue Whale Systems Limited Intelligent message receiving method and apparatus
CN104539507A (zh) * 2013-08-27 2015-04-22 厦门三五互联科技股份有限公司 标记邮件阅读状态的方法、电子邮件系统和状态服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《INTERNET MESSAGE ACCESS PROTOCOL VERSION 4rev1》;M.CRISPIN UNIVERSITY OF WASHINGTON;《google scholar》;20030301;全文 *

Also Published As

Publication number Publication date
GB201603785D0 (en) 2016-04-20
EP3417598A1 (en) 2018-12-26
US20170257440A1 (en) 2017-09-07
US20180262581A1 (en) 2018-09-13
WO2017151462A1 (en) 2017-09-08
EP3417598B1 (en) 2020-06-17
US11425209B2 (en) 2022-08-23
CN108781226A (zh) 2018-11-09
US20180262580A1 (en) 2018-09-13

Similar Documents

Publication Publication Date Title
CN108781226B (zh) 通信系统
KR102415845B1 (ko) 사물 인터넷 리소스 구독 방법, 디바이스, 및 시스템
US8751440B2 (en) System and method of determining relationship information
US8914493B2 (en) Presence-based event driven architecture
US10454795B1 (en) Intermediate batch service for serverless computing environment metrics
US8930521B2 (en) Method, apparatus, and computer program product for enabling monitoring of a resource
US9119052B2 (en) Content sharing for mobile devices
US7836088B2 (en) Relationship-based processing
EP1844591B1 (en) System architecture and method for scheduled downloading services
US9172765B2 (en) Polling-based secure network message notification system and method with performance enhancing features
WO2013078689A1 (zh) 一种云消息服务中实现消息传递的方法和装置
US7801509B2 (en) Computer-readable recording medium storing data communication program, data communication method, and mobile terminal
CN111200606A (zh) 深度学习模型任务处理方法、系统、服务器及存储介质
US10243895B2 (en) Method of and system for processing an electronic message destined for an electronic device
US9106596B2 (en) Method and apparatus of configuring a data broadcast service
US10075588B2 (en) Managing communication events
JPWO2014199585A1 (ja) 配信制御装置及びその方法、プッシュ配信システム、並びにコンピュータ・プログラム
CA2635172A1 (en) Device for communicating in multiple modes using multi-mode applications
WO2023001083A1 (zh) 服务提供方法、系统、网关、设备和存储介质
WO2017066048A1 (en) Managing communication events
US9369331B1 (en) Application message management
US11129044B2 (en) Method for transmitting wireless network data, sending terminal and receiving terminal
KR20130109410A (ko) 통신 시스템을 통한 푸시 알림 서비스의 푸시 알림 메시지 전송주기 조절 방법 및 장치
KR102367017B1 (ko) 통신 네트워크 시스템 및 그것의 제어방법
KR101550504B1 (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