CN102906730A - 用于被管理装置的共享心搏服务 - Google Patents
用于被管理装置的共享心搏服务 Download PDFInfo
- Publication number
- CN102906730A CN102906730A CN2011800253512A CN201180025351A CN102906730A CN 102906730 A CN102906730 A CN 102906730A CN 2011800253512 A CN2011800253512 A CN 2011800253512A CN 201180025351 A CN201180025351 A CN 201180025351A CN 102906730 A CN102906730 A CN 102906730A
- Authority
- CN
- China
- Prior art keywords
- message
- dms
- application specific
- application
- client
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/10—Active monitoring, e.g. heartbeat, ping or trace-route
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
描述用来促进在远程服务与在装置上安装的应用之间的通信的系统和方法。每个远程服务产生打算供由在装置上安装的对应的应用处理的应用专用消息,并且将消息传输给装置管理系统(DMS)服务器。在装置上安装的DMS客户端将心搏消息发送给DMS服务器,这些心搏消息指示装置能供用来接收消息。作为响应,DMS服务器将应用专用消息传输给DMS客户端,该DMS客户端然后将每条应用专用消息公布给它打算供给的特定应用。
Description
技术领域
本发明一般地涉及用来促进在自动实体之间(如在远程服务和与其相关联的在装置上安装的应用程序之间)的通信的系统和方法。
背景技术
已经开发了许多软件应用程序用来在联网装置上使用。这些应用程序的很多依赖于与远程服务(如Web服务)的通信,以支持应用程序功能或特征的至少一些。例如,远程服务可以与应用程序通信,以通知应用程序或其用户已经发生的事件,以将内容输送到应用程序的用户、更新应用程序等等。
当应用程序安装在布置于不同网络或子网中的装置上时,促进这样的通信是困难的。因为远程网络常常由像防火墙和网络地址转换(NAT)之类的约束所保护,所以常常不可能跨过互联网直接寻址在其它网络中的装置。因而,驻留在公共可访问服务器上的远程服务可能不能够开始与装置或应用程序的通信。为了处理这个问题,已经开发了一些应用程序,当在其上安装了这些应用程序的装置是活动的时候,这些应用程序进行定期轮询,由此为与远程服务的通信指示可用性。这样的定期轮询可以称作提供“心搏(heartbeat)”,并且各条轮询消息可以称作“心搏消息”。
为应用程序提供心搏消耗在其上安装应用程序的装置的处理资源、用来中继和/或处理心搏消息的网络节点的处理资源、以及在其上中继心搏消息的网络链路上的带宽。随着越来越多的提供心搏的应用程序安装在装置上,这些资源的消耗将增加。这可导致装置的性能降低、以及装置连接到的网络的性能降低。
此外,某些装置可能根本不能够经互联网通信。因此,这样的装置不能支持依赖于与远程服务的通信以支持至少一些应用程序功能或特征的应用程序。
发明内容
这里描述用来促进在远程服务与在装置上安装的应用之间的通信的系统、方法及设备。按照某些实施例,多个远程服务的每一个产生打算由在装置上安装的对应的应用处理的应用专用消息,并且将应用专用消息传输给装置管理系统(DMS)服务器,在该处将应用专用消息排队。在装置上安装的DMS客户端将心搏消息发送给DMS服务器,这些心搏消息指示装置能够用来接收消息。响应于接收心搏消息,DMS服务器将应用专用消息传输给DMS客户端。DMS客户端然后将每条应用专用消息公布给特定应用,应用专用消息打算供所述特定应用使用。
通过如以上描述的那样仅利用单个共享的心搏来促进在多个远程服务与在装置上安装的多个对应的应用之间的通信,这里描述的实施例与在装置上安装的每个应用提供其自己的心搏的实施相比,能够提供降低的资源消耗和改进的性能。
具体地说,这里描述一种用来促进在远程服务与在装置上安装的应用之间的通信的方法。按照该方法,从在装置上执行的DMS客户端发送的心搏消息由DMS服务器接收,心搏消息指示DMS客户端能够用来接收消息。响应于接收到心搏消息,DMS服务器将多条应用专用消息传输给DMS客户端,每条应用专用消息由对应远程服务产生,用来由在装置上安装的对应的应用处理。该方法还可以包括:在DMS服务器处经消息公布应用编程接口(API)从对应的远程服务接收应用专用消息,和向DMS客户端传输之前,在DMS服务器处将应用专用消息存储在队列中。
这里描述一种用来促进在远程服务与在装置上安装的应用之间的通信的进一步方法。按照进一步方法,将心搏消息从在装置上执行的DMS客户端发送给DMS服务器,心搏消息指示DMS客户端能够用来接收消息。DMS客户端然后接收多条应用专用消息,该多条应用专用消息由DMS服务器响应于接收到心搏消息而传输,每条应用专用消息由对应的远程服务产生,用来由在装置上安装的对应的应用处理。该方法还可以包括:由DMS客户端经消息订户API将应用专用消息公布给在装置上安装的对应应用。
这里也描述一种DMS服务器。该DMS服务器包括消息公布接口和DMS服务器逻辑部分。消息公布接口接收多条应用专用消息,应用专用消息的每一条由对应远程服务产生,用来由在装置上安装的对应的应用处理。DMS服务器逻辑部分接收从在装置上执行的DMS客户端发送的心搏消息,并且响应于心搏消息的接收,将多条应用专用消息传输给DMS客户端。该DMS服务器还可以包括队列,并且DMS服务器逻辑部分可以在向DMS客户端传输之前,将多条应用专用消息存储在队列中。
这里也描述一种装置。该装置包括DMS客户端和消息订户接口。DMS客户端将心搏消息发送给DMS服务器,心搏消息指示DMS客户端能够用来接收消息。DMS客户端也接收多条应用专用消息,该多条应用专用消息由DMS服务器响应于接收到心搏消息而传输,每条应用专用消息由对应远程服务产生,用来由在装置上安装的对应的应用处理。消息订户接口被DMS客户端用来将应用专用消息公布给在装置上安装的对应应用。DMS客户端也可以将对应的应用登记为订户,响应于接收到来自对应的应用的预订请求,可以经消息订户接口向该订户公布应用专用消息。
这里还描述用来使不能够经互联网通信的装置能够运行依赖于与远程服务的通信以支持一定应用功能或特征的应用的系统、方法、及设备。按照某些实施例,DMS客户端装置作为在装置(该装置不能够经互联网通信)上安装的应用与一个或多个远程服务之间的中介。具体地说,DMS客户端装置包括DMS客户端,该DMS客户端将心搏消息发送给DMS服务器,心搏消息指示DMS客户端能够用来接收消息。DMS客户端也接收至少一条应用专用消息,该至少一条应用专用消息由DMS服务器响应于接收到心搏消息而传输,该至少一条应用专用消息由对应的远程服务产生,用来由在装置(例如,不能够经互联网通信的装置)上安装的对应的应用处理,该装置连接到DMS客户端装置。DMS客户端装置还包括装置消息传送适配器,该装置消息传送适配器将至少一条应用专用消息从DMS客户端装置传输给连接到其上的装置。
下面参照附图详细地描述本发明的进一步的特征和优点、以及本发明的各个实施例的结构和操作。注意,本发明不限于这里描述的具体实施例。这样的实施例仅为了说明目的而呈现在这里。根据这里包含的教导另外的实施例对于相关领域的技术人员将是显然的。
附图说明
包括在这里并且组成本说明书一部分的附图阐明本发明,并且与描述一起,进一步用来解释本发明的原理,并且用来使相关领域的技术人员能够实现和使用本发明。
图1是按照本发明的实施例利用了用来促进在远程服务和与其相关联且在装置上安装的应用之间的通信的共享心搏服务的系统的方块图。
图2是阐明与图1的系统的各种元件相关的另外的细节的方块图。
图3描绘阐明在装置上安装的每个应用将其自己的心搏提供给对应远程服务的实施的序列图。
图4描绘阐明按照本发明的实施例在装置上安装的应用能够如何共享由装置管理服务(DMS)客户端逻辑部分提供的心搏以从对应的远程服务接收消息的序列图。
图5描绘按照本发明的实施例用来促进在远程服务与在装置上安装的应用之间的通信的共享心搏方法的流程图。
图6描绘按照本发明的实施例用来促进在远程服务与在装置上安装的应用之间的通信的、进一步的共享心搏方法的流程图。
图7描绘阐明按照本发明的实施例消息公布接口能够如何用来促进在同一装置上安装的两个应用之间的通信的序列图。
图8是按照本发明的实施例使不能够经互联网进行通信的装置能够运行依赖于与远程服务的通信以支持一定应用功能或特征的应用的系统的方块图。
图9描绘按照本发明的实施例用来促进在远程服务与在无IP能力装置上安装的应用之间的通信的方法的流程图。
图10是可以用来实施本发明的一个或多个方面的计算机系统的方块图。
本发明的特征和优点根据在联系附图时以下提出的详细描述将变得更明显,在附图中,类似参考标记自始至终标识对应元件。在附图中,类似的参照编号一般指示相同、功能相似、和/或结构相似的元件。元件最初出现的图由在对应参照编号中最左边的数位(一个或多个)指示。
具体实施方式
A.介绍
以下的详细描述涉及附图,这些附图阐明本发明的示范实施例。然而,本发明的范围不限于这些实施例,而是由所附的权利要求书来限定。因而,超出在附图中示出的那些实施例的实施例,如所阐明实施例的修改例,仍然可以被本发明包含。
在说明书中所涉及的“一个实施例”、“实施例”、“示范实施例”等等指示描述的实施例可以包括特定特征、结构或特性,但每个实施例可以未必包括特定特征、结构或特性。况且,这样的短语未必指同一实施例。此外,当与一个实施例有关地描述特定特征、结构、或特性时,我们认为,不管是否明确地描述,与其它实施例有关地实施这样的特征、结构或特性是在本领域的技术人员的知识的范围内。
B.利用了用于被管理装置的共享心搏服务的示范系统
图1是按照本发明实施例的示范系统100的方块图,该示范系统100利用了用来促进在远程服务和与其相关联且在装置上安装的应用之间的通信的共享心搏服务。如图1所示,系统100包括多个被布置的装置1041-104n,多个被布置的装置1041-104n的每一个通信地连接到位于远程的装置管理服务102。装置管理服务102包括自动系统,该自动系统配置成,相对于装置1041-104n的每一个进行远程管理功能。这样的管理功能可以包括例如但不限于将更新的固件、软件和/或装置配置信息通信到装置1041-104n的一个或多个。然而,这些仅是例子,并且装置管理服务102可以相对于装置1041-104n的每一个进行各种其它远程管理功能。
如在图1中进一步表示的那样,装置1041-104n的每一个也通信地连接到多个远程服务106。每个远程服务106包括自动系统,该自动系统进行操作以代表远程执行的应用来提供一种或多种服务或者进行一种或多种操作。远程服务106可以包括例如Web服务或任何其它类型的服务,该Web服务或任何其它类型的服务通过诸如远程过程调用(RPC)的机器对机器相互作用或者由CORBA(Common ObjectRequest Broker Architecture,公共对象请求代理体系结构)支持的相互作用而被调用。在系统100中,装置1041-104n的每一个能够执行至少一个应用,该至少一个应用依赖于与远程服务106的对应的一个的通信以支持至少某些应用功能或特征。例如,在装置1041-104n的任一个上执行的应用可以包括通过接收来自远程服务106之一的一条或多条消息而支持的功能或特征。
远程服务106也通信地连接到装置管理服务102,并且能够向其发送消息。在装置1041-104n、装置管理服务102、及远程服务106之间的通信可以在网络或网络组合上完成。这样的网络可以包括例如互联网。然而,这个例子不打算是限制性的,并且在装置1041-104n、装置管理服务102、及远程服务106之间的通信可以在包括一个或多个广域网(WAN)、局域网(LAN)、私用网、公用网、分组网络、线路交换网、及有线或无线网的任何类型的网络或网络组合上完成。
依据实施,被布置的装置1041-104n的每一个可以包括例如但不限于个人计算机、膝上计算机、平板电脑、电话、个人数码助理、个人媒体播放器等等。每个装置1041-104n也可以包括嵌入在另一个装置中的装置。此外,每个装置1041-104n可以包括进行操作以在其它装置之间提供连接性的装置,如路由器、开关等等。
图2是提供与以上参照图1所描述的系统100的各种元件相关的另外的细节的方块图200。具体地说,方块图200包括:装置204,它打算表示装置1041-104n之一;装置管理服务(DMS)服务器202,它打算表示装置管理服务102的元件;及远程服务206,它打算表示远程服务106之一。
如图2所示,DMS服务器202包括DMS服务器逻辑部分218,而装置204包括DMS客户端逻辑部分234。DMS服务器逻辑部分218被配置成通过经传输通道242与DMS客户端逻辑部分234相互作用来相对于装置204执行远程管理功能。如以上提到的那样,这样的远程管理功能的进行可以包括例如但不限于将更新的固件、软件和/或装置配置信息从DMS服务器逻辑部分218通信到DMS客户端逻辑部分234。
装置204可以被布置在与DMS服务器202不同的网络或子网络中。从而,因为其中布置了装置204的网络可能由像防火墙和网络地址转换(NAT)之类的约束保护,DMS服务器202可能不能够直接寻址装置204。为了至少部分地处理这个问题,DMS服务器逻辑部分218和DMS客户端逻辑部分234联合地实施心搏服务。按照这样的心搏服务,当装置204能够用来通信时,DMS客户端逻辑部分234将轮询消息、或“心搏消息”经传输通道242定期地发送给DMS服务器逻辑部分218,以将这样的可用性通知DMS服务器逻辑部分218。响应于从DMS客户端逻辑部分234接收到这样的心搏消息,DMS服务器逻辑部分202于是可以将一条或多条装置管理相关的消息经传输通道242发送给DMS客户端逻辑部分234,其中,每条消息可以包括将由DMS客户端逻辑部分234执行的一条或多条装置管理相关的命令。这样的命令可以包括例如但不限于在装置204上安装或更新软件的命令、在装置204上安装或更新固件的命令、和/或变更装置204的配置的命令。
如图2所示,装置204还包括为了在其上执行而安装的多个软件应用。具体地说,第一应用2381(也表示为“App A”)、第二应用2382(也表示为“App B”)、及第三应用2383(也表示为“App C”)被安装在装置204上,并且可以在其上被执行。这些应用的每一个依赖于与远程服务(如远程服务206)的通信以支持至少某些应用功能或特征。然而,由于装置204可以如以上提到的那样被布置在由防火墙或NAT保护的不同的网络或子网络中,所以装置204可能不能由这样的远程服务直接寻址。
处理这种问题的一种手段是,将应用2381-2383的每一个配置成当装置204能够用来通信时将其自己的心搏消息发送给对应远程服务。图3描绘了表示可以如何实施这样手段的序列图300。如图3所示,在装置204内的DMS客户端逻辑部分234将心搏消息310发送给在DMS服务器202内的DMS服务器逻辑部分218,以指示装置204能够用来通信。响应于接收到心搏消息310,DMS服务器逻辑部分218将一条或多条装置管理相关的消息312发送给DMS客户端逻辑部分234。在该事件序列之后,第一应用2381(也表示为“应用A”)将其自己的心搏消息320发送给第一远程服务3061(也表示为“服务A”),并且响应于接收到心搏消息320,第一远程服务3061将一条或多条应用专用消息322发送给第一应用2381。按类似方式,第二应用2382(也表示为“应用B”)将其自己的心搏消息330发送给第二远程服务3062(也表示为“服务B”),并且作为响应,从第二远程服务3062接收到一条或多条应用专用消息332,而第三应用2383(也表示为“应用C”)将其自己的心搏消息340发送给第三远程服务3063(也表示为“服务C”),并且作为响应,从第三远程服务3063接收到一条或多条应用专用消息342。
以在图3中表示的方式为DMS客户端逻辑部分234和应用2381-2383的每一个提供单独的心搏消耗:装置204的处理资源、用来中继和/或处理心搏消息的网络节点的处理资源、及在其上中继心搏消息的网络链路上的带宽。随着越来越多的提供心搏的应用安装在装置204上,这些资源的消耗将增加。这能够导致装置204的性能降低、以及装置204连接到的网络的性能降低。
与在图3的手段形成对比,本发明的实施例使应用2381-2383的每一个能够“共享”由DMS客户端逻辑部分234提供的心搏,以促进在这些应用与对应的远程服务3061-3063之间的通信。为了实现这一点,DMS服务器202包括消息公布接口216,该消息公布接口216使远程服务3061-3063能够将消息按排队和后续输送的异步方式公布给在装置204上安装的对应的应用2381-2383。另外,装置204包括消息订户接口232,该消息订户接口232使应用2381-2383能够预订接收由远程服务3061-3063公布且由DMS服务器202排队的消息。当在DMS服务器202上的DMS服务器逻辑部分218接收到来自DMS客户端逻辑部分234的心搏消息时,DMS服务器逻辑部分218能够将任何待处理的应用专用消息从远程服务3061-3063传输给DMS客户端逻辑部分234。DMS客户端逻辑部分234然后能够将应用专用消息的每一条经过消息订户接口232输送到适当的应用2381-2383。
通过允许每个应用2381-2383如此利用由DMS客户端逻辑部分234提供的心搏以从对应远程服务3061-3063接收消息,本发明的实施例与其中每个应用提供其自己的心搏的实施(如以上参照图3的序列图描述的实施)相比,能够实现降低资源消耗和改进性能。
图4描绘了示范序列图400,该示范序列图400阐明了在装置204上安装的应用能够共享由DMS客户端逻辑部分234提供的心搏以从对应的远程服务接收消息的方式。按照在图4中表示的例子,假定第一应用2381已经经过消息订户接口232预订从第一远程服务3061接收消息。
如图4所示,在装置204内的DMS客户端逻辑部分234将心搏消息410发送给在DMS服务器202内的DMS服务器逻辑部分218,以指示装置204能够用来通信。响应于接收到心搏消息410,DMS服务器逻辑部分218将一条或多条装置管理相关的消息412发送给DMS客户端逻辑部分234。假定在这时没有应用专用消息待输送给DMS客户端逻辑部分234。
在该事件序列之后,第一远程服务3061异步地公布应用专用消息422,以经DMS服务器202的消息公布接口216输送到至少第一应用2381。这条应用专用消息在DMS服务器202处被接收并被排队以输送。在应用专用消息在DMS服务器202处已经如此被接收并被排队以输送之后,DMS客户端逻辑部分234将另一条心搏消息430发送给DMS服务器逻辑部分218。响应于接收到心搏消息430,DMS服务器逻辑部分218将一条或多条装置管理相关的消息和待处理的应用专用消息(共同地表示为消息432),发送给DMS客户端逻辑部分234。DMS客户端逻辑部分234然后将应用专用消息434经消息订户接口232公布给第一应用2381。
第一应用2381然后可以处理应用专用消息。依据该应用专用消息的内容,这可以使第一应用2381执行特定动作,或者或许根本不采取动作。在图4中表示的例子中,响应于第一应用2381处的应用专用消息的处理,第一应用2381“回电话(phone home)”给第一远程服务3061,如由消息436表示的那样。这可能需要例如建立对于预定统一资源定位(URL,Uniform Resource Location)或对于在应用专用消息中指定的URL的链路。在已经建立这样的链路之后,在第一应用2381与第一远程服务3061之间的进一步通信可以发生,如由消息438、440及442表示的那样。然而,如以上提到那样,这仅仅是例子,并且可以使第一应用2381响应于处理应用专用消息而执行其它动作。
现在将提供关于在图2中描绘的示范实施的另外的细节。如以前描述的那样,DMS服务器202包括消息公布接口216和DMS服务器逻辑部分218。在至少一个实施例中,消息公布接口216包括可以使用各种远程服务协议的任一种而被调用的、明确定义的远程服务应用编程接口(API)。如在图2中进一步表示的那样,DMS服务器202包括:第一公布适配器212,它使用公知的REST(RepresentationalState Transfer,表述性状态转移)协议使远程服务能够与消息公布接口216相互作用;和第二公布适配器214,它使用公知SOAP(SimpleObject Access Protocol,简单对象访问协议)协议使远程服务能够与消息公布接口216相互作用。还可以使用其它协议与消息公布接口216相互作用,并且DMS服务器202可以包括另外的适配器以适应这样的协议。
DMS服务器逻辑部分218表示成包括心搏模块220。心搏模块220旨在表示DMS服务器逻辑部分218的进行对于实施这里所描述的被管理装置的共享心搏服务所必需的功能部分。如以上提到的那样,DMS服务器逻辑部分218也可以相对于装置204和其它装置,进行任何数量的远程管理功能,不管这样的远程管理功能是否在这里明确地描述。
也如以前描述的那样,装置204包括应用2381-2383、消息订户接口232、及DMS客户端逻辑部分234。在至少一个实施例中,消息订户接口232包括可以由应用2381-2383的任一个调用的已定义的API。这样的API的描述可以被包括在公共可访问软件开发者工具包(SDK,software developers kit)中,从而应用开发者可以开发能够利用共享心搏服务的应用。
如进一步在图2中表示的那样,DMS服务器202包括服务器传输适配器222和客户端传输适配器236。这些传输适配器使DMS服务器202和装置204分别能够参与在它们之间建立的传输通道242上的通信。如将由相关领域的技术人员认识到的那样,实施服务器传输适配器222和客户端传输适配器236的方式将取决于用于在传输通道242上通信的特定通信协议。依据布置要求,可以使用各种不同的通信协议。仅作为例子和并非限制地,可以使用如HTTP(HypertextTransfer Protocol,超文本传送协议)/HTTPS(Hypertext TransferProtocol Secure,安全超文本传送协议)、XMPP(Extensible Messagingand Presence Protocol,可扩展通讯和表示协议)及SIP(SessionInitiation Protocol,会话启动协议)这样的应用层协议用于通信。而且,可以使用如TCP(Transmission Control Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议)这样的传输层协议用于通信。按照至少一个实施例,可以在运行时间改变用于在装置204与DMS服务器202之间的通信的传输适配器的特定类型,以动态地适应各种不同的通信协议。
各种安全模型也可以用来提供在传输通道242上的安全通信。这样的安全模型可提供与例如保密、验证及有效性相关的特征。就保密而论,可以使用诸如HTTPS和公用/私用密钥加密之类的机理来保证消息只能由预期接收者阅读。就验证而论,可以使用诸如自签字证书和从可信机构发出的证书之类的机理来提供消息的发送者和/或其接收者的身份的检验。就消息有效性而论,可以使用诸如公用/私用密钥散列和MD5校验和之类的机理来检验消息在传输中未被改变。还可以使用其它安全模型和机理。
如以上讨论的那样,DMS客户端逻辑部分234将心搏消息发送给DMS服务器逻辑部分218。这些消息可以在DMS服务器202处引入网络和处理负荷。按照至少一个实施例,DMS服务器逻辑部分218被配置成将消息发送给DMS客户端逻辑部分234,以重新调整心搏间隔,从而管理在DMS服务器202上的负荷。例如,通过使DMS客户端逻辑部分234从15秒心搏间隔切换到30秒心搏间隔,实施例可有效地将在DMS服务器202上的工作负荷减半。在一个实施例中,通过向DMS客户端逻辑部分234发送将新心搏间隔通知DMS客户端逻辑部分234的消息来管理心搏间隔。按照这样的实施例,DMS服务器202能够动态地控制其负荷。例如,当DMS服务器202的网络业务或处理负荷(例如,请求的队列)超过一定阈值时,DMS服务器逻辑部分218能够将消息发送给一个或多个被管理装置,以重新调整心搏间隔。而且,当被管理装置经诸如蜂窝网络的专用网络被连接时,它可以具有降低其心搏间隔的策略以使得在该网络上数据使用最小。
C.示范共享心搏方法
图5描绘按照本发明的实施例的共享心搏方法的流程图500,该共享心搏方法用来促进在远程服务与在装置上安装的应用之间的通信。现在通过继续参照对以上参照图1-4描述的示范系统元件,将描述流程图500的方法。然而,该方法不限于这些实施。相关领域的技术人员将认识到,流程图500的步骤完全可以由其它元件或系统实施。
如图5所示,流程图500的方法在步骤502处开始,在该步骤502中,在DMS服务器处从对应多个远程服务接收多条应用专用消息。每条应用专用消息由远程服务的对应的一个产生,用来由在装置上安装的对应的应用处理。这个步骤可以例如由DMS服务器202进行,该DMS服务器202从对应远程服务3061-3063接收应用专用消息,这些应用专用消息打算由在装置204上安装的应用2381-2383处理。这样的应用专用消息可以经消息公布接口216接收,该消息公布接口216可以由各种远程服务使用各种远程服务协议的任一种来调用。
在步骤504处,DMS服务器将在步骤502期间接收的应用专用消息存储在位于DMS服务器处的队列中等待向一个或多个装置输送。这个步骤可以例如由DMS服务器202的DMS服务器逻辑部分218进行。按照某些实施,DMS服务器逻辑部分218也监视与在队列中存储的一条或多条应用专用消息的每一条相关联的生存时间(time-to-live)值,并且如果与其相关联的生存时间值已经期满,则从队列中移除应用专用消息。这种功能使远程服务能够将这样的消息发送给DMS服务器,即,如果该装置在一定时间帧内接收到该消息,则该消息才被输送到在该装置上安装的应用。
在步骤506处,DMS服务器从在装置上执行的DMS客户端接收心搏消息。心搏消息指示DMS客户端能够用来接收消息。这个步骤可以例如由DMS服务器202的心搏模块220进行,该心搏模块220接收由装置204的DMS客户端逻辑部分234产生的心搏消息。如以前描述的那样,DMS服务器202利用服务器传输适配器222从传输通道242接收这样的心搏消息。
在步骤508处,DMS服务器响应于在步骤506期间接收到心搏消息,将排队的应用专用消息传输给DMS客户端,这些排队的应用专用消息打算由在装置上安装的应用处理。这个步骤可以例如由DMS服务器202的心搏模块220进行。例如,心搏模块220可以利用服务器传输适配器222,以将这样的应用专用消息经传输通道242传输给DMS客户端逻辑部分234。按照一个实施例,这个步骤需要与每条应用专用消息相关地传输应用专用通道的标识,应用专用消息在由DMS客户端接收时被公布给该应用专用通道。
图6描绘按照本发明的实施例的进一步共享心搏方法的流程图600,该进一步共享心搏方法用来促进在远程服务与在装置上安装的应用之间的通信。现在将通过继续参照对以上参照图1-4描述的示范系统元件来描述流程图600的方法。然而,该方法不限于这些实施。相关领域的技术人员将认识到,流程图600的步骤完全可以由其它元件或系统来实施。
如图6所示,流程图600的方法在步骤602处开始,在该步骤602中,在装置上执行的DMS客户端将在装置上安装的多个应用登记为可以向其公布应用专用消息的订户。这个步骤可以例如由DMS客户端逻辑部分234进行,该DMS客户端逻辑部分234可以将应用2381-2383登记为这样的应用,即,响应于接收来自这些应用的每一个的预订请求,可以经消息订户接口232向该应用公布应用专用消息。
在步骤604处,DMS客户端将心搏消息发送给DMS服务器。心搏消息指示DMS客户端能够用来接收消息。这个步骤可以例如由装置204的DMS客户端逻辑部分234进行。如以前描述的那样,DMS客户端逻辑部分234利用客户端传输适配器236将这样的心搏消息在传输通道242上发送给DMS服务器202。
在步骤606处,DMS客户端接收多条应用专用消息,这些多条应用专用消息由DMS服务器响应于接收到心搏消息而传输。如此接收的每条应用专用消息由对应远程服务产生,用来由在装置上安装的对应的应用处理。这个步骤可以例如由装置204的DMS客户端逻辑部分234进行。如以前描述的那样,DMS客户端逻辑部分234利用客户端传输适配器236从传输通道242接收这样的应用专用消息。
在步骤608处,DMS客户端将在步骤606期间接收的应用专用消息公布给在装置上安装的对应的应用,用来由其处理。这个步骤可以例如由装置204的DMS客户端逻辑部分234进行,该DMS客户端逻辑部分234将应用专用消息的每一条经消息订户接口232公布给应用2381-2383的对应的一个,用来由其处理。按照一个实施例,这个步骤包括将应用专用消息的每一条公布给对应的应用专用通道,其中每个应用专用通道与在步骤602期间预订接收消息的特定应用相对应。
在每个应用接收到其对应的应用专用消息后,每个应用然后处理其对应的应用专用消息。依据给定应用专用消息的内容,这可以使应用执行特定动作,或者或许根本不采取动作。如以上提到那样,可以采取的一种示范动作是建立对于预定URL或对于在应用专用消息中指定的URL的链路,尽管这只是一个例子,并且可以采取各种各样动作的任一种。
D.应用之间通信
以上参照图1-4描述的共享心搏构造也可以用来容许在同一装置上安装的应用彼此通信。作为例子,在装置204上安装的第一应用可以与消息公布接口234相互作用,以预订接收关于相对于在装置204上安装的第二应用发生的事件的信息。当这样的事件发生时,可由消息公布接口234通知第一应用。对于应用间通信的以上手段是有利的,因为其提供了标准接口,通过该标准接口不同应用可彼此共享信息。
图7描绘序列图700,该时序列700阐明了这样的应用间通信可以如何发生的一个例子。如图7所示,第一应用2381(也表示为“应用A”)将消息702发送给消息公布接口234,以预订相对于第三应用2383(也表示为“应用C”)发生的事件。在这个例子的上下文中,事件可以包括任何情况或现象,该任何情况或现象可以由第三应用2383探测,或者可以通知第三应用2383关于该任何情况或现象。响应于接收到该消息,消息公布接口234将第一应用2381登记为对于与第三应用2383有关发生事件的订户。如在图7中进一步表示的那样,在该预订步骤之后,第三应用2383将消息704发送给消息公布接口234,该消息704指示事件已经发生。响应于接收到消息704,消息公布接口234将消息706发送给第一应用2381以通知第一应用2381事件已经发生,因为第一应用2381是对于与第三应用2383有关发生事件的登记订户或“收听者”。
E.示范中介DMS客户端装置
一些装置可能不支持在某些网络上的通信。例如,一些装置可能不能够在互联网上通信。因此,这样的装置可能不能够支持已经被设计成与远程服务通信的应用。图8是按照本发明实施例的系统800的方块图,该系统800解决这个问题。具体地说,系统800使不能够经互联网通信的装置能够运行依赖于与远程服务的通信的应用以支持某些应用功能或特征。
如图8所示,系统800包括家庭区域网络802,该家庭区域网络802经互联网808通信地连接到DMS服务器804和多个远程服务806。如在图8中进一步表示的那样,家庭区域网络802包括多个经各种通信介质通信地连接到DMS客户端装置812的装置822、824、826及828。具体地说,装置822经通信介质832通信地连接到DMS客户端装置812,装置824经WiFi(即,IEEE 802.11)通信介质834通信地连接到DMS客户端装置812,装置826经红外(IR)通信介质836通信地连接到DMS客户端装置812,及装置828经紫蜂(ZigBee)通信介质838通信地连接到DMS客户端装置上。
DMS客户端装置812起到在装置822、824、826和828的每一个上安装的应用与一个或多个远程服务之间的中介的作用。具体地说,DMS客户端装置812包括DMS客户端842,该DMS客户端842将心搏消息发送给DMS服务器804,心搏消息指示DMS客户端842能够用来接收消息。DMS客户端842也接收应用专用消息,这些应用专用消息响应于接收到心搏消息而从DMS服务器804传输,其中,应用专用消息由一些对应的远程服务806产生,用来由在装置822、824、826和828之一上安装的对应的应用处理。以上描述了各种技术,通过这些技术,远程服务806能够产生这样的应用专用消息,并且将它们传输给DMS服务器804,用来排队向DMS客户端装置812的传输。
DMS客户端装置812还包括多个装置消息传送适配器844,这些多个装置消息传送适配器844用来将从DMS服务器804接收的应用专用消息的每一条传输给适当装置822、824、826或828,在这些适当装置822、824、826或828上,安装了应用专用消息供其使用的应用。不同适配器可以用来与不同装置和/或在不同通信介质上通信。
可能装置822、824、826或828的某些装置不能够在互联网上通信。然而,通过起到在装置822、824、826和828的每一个上安装的应用与一个或多个远程服务之间的中介的作用,DMS客户端装置812使这样的装置仍然能够运行依赖于与远程服务通信以支持某些应用功能或特征的应用。
图9描绘按照本发明的实施例的方法的流程图900,该方法用来促进在远程服务与在无IP能力装置上安装的应用之间的通信。现在通过继续参照对以上参照图8描述的示范系统元件来描述流程图900的方法。然而,该方法不限于该实施。相关领域的技术人员将认识到,流程图900的步骤完全可以由其它元件或系统来实施。
如图9所示,流程图900的方法在步骤902处开始,在该步骤902中,在DMS客户端装置上执行的DMS客户端将在连接到DMS客户端装置的装置上安装的应用登记为订户,向这些订户可以公布应用专用消息。这个步骤可以例如由DMS客户端842进行,该DMS客户端842可以将在装置822、824、826和828的任一个上安装的应用登记为订户,向这些订户可以公布应用专用消息。
在步骤904处,DMS客户端将心搏消息发送给DMS服务器。心搏消息指示DMS客户端可以用来接收消息。该步骤可以例如由DMS客户端842进行,该DMS客户端842可以将心搏消息经互联网808发送给DMS服务器804,心搏消息指示DMS客户端842可以用来接收消息。
在步骤906处,DMS客户端接收由DMS服务器响应于接收到心搏消息而传输的至少一条应用专用消息。至少一条应用专用消息由对应的远程服务产生,用来由在连接到DMS客户端装置的装置上安装的对应的应用处理。这个步骤可以例如由DMS客户端842进行,该DMS客户端824可以接收由DMS服务器804响应于接收到心搏消息而传输的至少一条应用专用消息,其中至少一条应用专用消息由远程服务806的对应的一个产生,用来由在装置822、824、826或828之一上安装的对应的应用处理。
在步骤908处,至少一条应用专用消息从DMS客户端装置传输给与其相连接的装置,用来由对应的应用处理。这个步骤可以例如由装置消息传送适配器844之一进行,装置消息传送适配器844之一将至少一条应用专用消息从DMS客户端装置812传输给装置822、824、826或828之一,用来由在其上安装的对应的应用处理。
按照上文,DMS客户端装置812可起到用于其它装置的代理的作用,允许这样的其它装置利用由DMS客户端装置812提供的共享心搏服务。这种装置代理特征潜在地允许鲁棒n层布置策略,其中,单个装置可以用作对于任何数量的从属装置的代理,这些从属装置依次可以代理其它装置,形成了独立于公用互联网的可用性或可见性、或独立于对任何具体网络协议的依赖性的层级关系。
这种共享心搏代理技术可使连接到LAN的装置能够保持与DMS服务器的通信路径,其中LAN没有连接到WAN。进一步,代理装置可以是双宿型(dual-homed),从而例如解决将设施的私用无线LAN耦接到与WAN连接的LAN的要求。
F.示范计算机系统实施
在图1-4、7及8中表示的装置和服务器的每一个、以及在其中包含的子系统或元件的任一个,可以在硬件、软件、固件、或其任意组合中实施。例如,在图1-4、7及8中表示的装置和服务器的每一个、以及在其中包含的子系统或元件的任一个,可以实施成计算机程序代码,该计算机程序代码配置成在一个或多个处理器中执行。可选择地,在图1-4、7及8中表示的装置和服务器的每一个、以及在其中包含的子系统或元件的任一个,可以实施成硬件逻辑部分/电路。
这里描述的实施例,包括系统、方法/过程、和/或设备,可以使用熟知服务器/计算机来实施,如使用在图10中表示的计算机1000。例如,在图1-4、7及8中表示的装置和服务器的每一个、以及在其中包含的子系统或元件的任一个可以使用一个或多个计算机1000来实施。
计算机1000可以是能够完成这里描述的功能的任何商业可获得且熟知的计算机,如从国际商业机器公司(International BusinessMachines)、苹果公司(Apple)、太阳公司(Sun)、惠普公司(HP)、戴尔公司(Dell)、Cray公司等等可用的计算机。计算机1000可以是包括台式计算机、服务器等等的任何类型的计算机。
计算机1000包括一个或多个处理器(也叫做中央处理单元、或CPU),如处理器1004。处理器1004连接到如通信总线的通信基础结构1002。在某些实施例中,处理器1004可同时操作多个计算线程。
计算机1000也包括初级或主存储器1006,如随机存取存储器(RAM)。主存储器1006在其中存储控制逻辑部分1028A(计算机软件)和数据。
计算机1000也包括一个或多个副存储装置1010。副存储装置1010包括例如硬盘驱动器1012和/或可移除存储装置或驱动器1014、以及其它类型的存储装置,如存储卡和存储棒。比如,计算机1000可以包括工业标准接口,如用来与诸如存储棒之类的装置接口的通用串行总线(USB)接口。可移除存储驱动器1014表示软盘驱动器、磁带驱动器、压缩磁盘驱动器、光学存储装置、磁带备份等等。
可移除存储驱动器1014与可移除存储单元1016相互作用。可移除存储单元1016包括计算机可用或可读存储介质1024,该计算机可用或可读存储介质1024在其中存储了计算机软件1028B(控制逻辑部分)和/或数据。可移除存储单元1016表示软盘、磁带、压缩磁盘、DVD、光学存储盘、或任何其它计算机数据存储装置。可移除存储驱动器1014按熟知方式从可移除存储单元1016读取和/或向其写入。
计算机1000也包括输入/输出/显示装置1022,如监视器、键盘、定点装置等等。
计算机1000还包括通信或网络接口1018。通信接口1018使计算机1000能够与远程装置通信。例如,通信接口1018允许计算机1000在通信网络或介质1042(表示计算机可用或可读介质的形式)上通信,如在LAN、WAN、互联网等等上通信。通信接口1018可以经有线或无线连接与远程站点或网络接口。
控制逻辑部分1028C可以经通信介质1042向计算机1000传输和从其传输。
包括计算机可用或可读介质的任何设备或制品在这里称作计算机程序产品或程序存储装置,该计算机可用或可读介质具有在其中存储的控制逻辑部分(软件)。这包括但不限于计算机1000、主存储器1006、副存储装置1010、及可移除存储单元1016。这样的在其中具有控制逻辑部分的计算机程序产品表示本发明的实施例,该控制逻辑部分当由一个或多个数据处理装置执行时,使这样的数据处理装置如这里描述的那样进行操作。
其中可以实施实施例的装置可以包括存储装置,如存储驱动器、存储器装置、及另外类型的计算机可读介质。这样的计算机可读存储介质的例子包括硬盘、可移除磁盘、可移除光盘、闪烁储存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等。如这里使用的那样,术语“计算机程序介质”和“计算机可读介质”用来一般涉及与硬盘驱动器相关联的硬盘、可移除磁盘、可移除光盘(例如,CDROM、DVD等等)、压缩磁盘、磁带、磁性存储装置、MEMS(微型机电系统)存储装置、基于纳米技术的存储装置、以及如闪烁存储卡、数字视频盘、RAM装置、ROM装置等等的其它介质。这样的计算机可读存储介质可以存储程序模块,该程序模块包括计算机程序逻辑部分,该计算机程序逻辑部分用来实施在图1-4、7及8中表示的装置和服务器的每一个、在其中包含的子系统或元件的任一个、图5、6及9的流程图的方法或步骤的任一个、和/或这里描述的本发明的进一步实施例的特征。本发明的实施例指向计算机程序产品,这些计算机程序产品包括在任何计算机可用介质上存储的这样的逻辑部分(例如,以程序代码或软件的形式)。这样的程序代码,当在一个或多个处理器中被执行时,使装置如这里描述的那样来进行操作。
本发明能够通过除这里描述的那些之外的软件、硬件和/或操作系统实施而工作。可使用适于用来进行这里描述的功能的任何软件、硬件及操作系统实施。
G.结论
尽管以上已经描述了本发明的各个实施例,但应该理解,它们仅作为例子表示,并且不是限制性的。相关领域的技术人员将理解,在不脱离所附权利要求书所限定的本发明的精神和范围的情况下,在本领域中可以进行形式和细节的各种变化。因此,本发明的广度和范围不应当由上述示范实施例的任一个限定,而是应该仅依照如下权利要求书和其等效物来限定。
Claims (22)
1.一种用来促进在远程服务与在装置上安装的应用之间的通信的方法,包括:
接收心搏消息,该心搏消息从在装置上执行的装置管理系统(DMS)客户端发送给DMS服务器,所述心搏消息指示了DMS客户端能够用来接收消息;和
响应于接收到所述心搏消息,将多条应用专用消息从DMS服务器传输给DMS客户端,每条应用专用消息由对应的远程服务产生,用来由在所述装置上安装的对应的应用处理。
2.根据权利要求1所述的方法,还包括:
在DMS服务器处从对应的远程服务接收应用专用消息;和
在向DMS客户端传输之前,在DMS服务器处将应用专用消息存储在队列中。
3.根据权利要求2所述的方法,其中,在DMS服务器处从对应的远程服务接收应用专用消息包括:
经DMS服务器的消息公布应用编程接口(API),从远程服务接收应用专用消息。
4.根据权利要求2所述的方法,还包括:
由DMS服务器监视与在队列中存储的特定应用专用消息相关联的生存时间值;和
如果与其相关联的生存时间值已经期满,则由DMS服务器从队列中移除特定应用专用消息。
5.根据权利要求1所述的方法,其中,将多条应用专用消息从DMS服务器传输给DMS客户端包括:
与每条应用专用消息相关联地传输应用专用通道的标识,应用专用消息当由DMS客户端接收时被公布给该应用专用通道。
6.根据权利要求1所述的方法,其中,接收心搏消息和传输多条应用专用消息包括:
在DMS客户端与DMS服务器之间建立的公共传输通道上,接收心搏消息和传输多条应用专用消息。
7.一种用来促进在远程服务与在装置上安装的应用之间的通信的方法,包括:
将心搏消息从在装置上执行的装置管理系统(DMS)客户端发送给DMS服务器,所述心搏消息指示了DMS客户端能够用来接收消息;
由DMS客户端接收多条应用专用消息,该多条应用专用消息由DMS服务器响应于接收到心搏消息而被传输,每条应用专用消息由对应的远程服务产生,用来由在所述装置上安装的对应的应用处理。
8.根据权利要求7所述的方法,还包括:
由DMS客户端将应用专用消息经过消息订户应用编程接口(API)公布给在所述装置上安装的对应的应用。
9.根据权利要求8所述的方法,还包括:
由DMS客户端将所述对应的应用登记为订户,响应于从所述对应的应用接收的订户请求,能够经过消息订户应用编程接口(API)向该订户公布应用专用消息。
10.根据权利要求9所述的方法,其中,登记所述对应的应用包括,建立与所述对应的应用的每一个相关联的应用专用通道;并且
其中,将应用专用消息公布给所述对应的应用包括,将应用专用消息的每一条公布给对应的应用专用通道。
11.根据权利要求7所述的方法,其中,发送心搏消息和接收多条应用专用消息包括:
经在DMS客户端与DMS服务器之间建立的公共传输通道,发送心搏消息和接收多条应用专用消息。
12.一种装置管理服务(DMS)服务器,包括:
消息公布接口,接收多条应用专用消息,所述应用专用消息的每一条由对应的远程服务产生,用来由在装置上安装的对应的应用处理;和
DMS服务器逻辑部分,接收从在所述装置上执行的DMS客户端发送的心搏消息,并且DMS服务器逻辑部分响应于心搏消息的接收,将多条应用专用消息传输给DMS客户端。
13.根据权利要求12所述的DMS服务器,其中,消息公布接口包括远程服务应用编程接口(API)。
14.根据权利要求12所述的DMS服务器,还包括:
队列;
其中,DMS服务器逻辑部分在向DMS客户端传输之前,将多条应用专用消息存储在队列中。
15.根据权利要求14所述的DMS服务器,其中,DMS服务器逻辑部分监视与在队列中存储的特定应用专用消息相关联的生存时间值,并且如果与其相关联的生存时间值已经期满,则从队列中移除上述特定应用专用消息。
16.根据权利要求12所述的DMS服务器,其中,DMS服务器逻辑部分通过与每条应用专用消息相关联地传输应用专用通道的标识,将所述多条应用专用消息传输给DMS客户端,应用专用消息当由DMS客户端接收时公布给该应用专用通道。
17.根据权利要求12所述的DMS服务器,其中,DMS服务器逻辑部分在DMS客户端与DMS服务器之间建立的公共传输通道上,从DMS客户端接收所述心搏消息和将所述多条应用专用消息传输给DMS客户端。
18.一种装置,包括:
装置管理系统(DMS)客户端,将心搏消息发送给DMS服务器,所述心搏消息指示DMS客户端能够用来接收消息,并且上述DMS客户端接收多条应用专用消息,该多条应用专用消息由DMS服务器响应于接收到心搏消息而传输,每条应用专用消息由对应的远程服务产生,用来由在所述装置上安装的对应的应用处理;和
消息订户接口,DMS客户端通过上述消息订户接口将应用专用消息公布给在所述装置上安装的对应的应用。
19.根据权利要求18所述的装置,其中,DMS客户端将对应的应用登记为订户,响应于从对应的应用接收的预订请求,经过所述消息订户接口向该订户公布应用专用消息。
20.根据权利要求18所述的装置,其中,DMS客户端通过建立与对应的应用的每一个相关联的应用专用通道来登记所述对应的应用,并且通过将应用专用消息的每一条公布给对应的应用专用通道来将应用专用消息公布给对应的应用。
21.根据权利要求18所述的装置,其中,DMS客户端经在DMS客户端与DMS服务器之间建立的公共传输通道,发送所述心搏消息和接收所述多条应用专用消息。
22.一种装置管理系统(DMS)客户端装置,包括:
装置管理系统(DMS)客户端,将心搏消息发送给DMS服务器,所述心搏消息指示DMS客户端能够用来接收消息,并且所述DMS客户端接收至少一条应用专用消息,该至少一条应用专用消息由DMS服务器响应于接收到心搏消息而传输,该至少一条应用专用消息由对应的远程服务产生,用来由在装置上安装的对应的应用处理,该装置连接到所述DMS客户端装置;和
装置消息传送适配器,将至少一条应用专用消息从DMS客户端装置传输给与其相连接的所述装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34971810P | 2010-05-28 | 2010-05-28 | |
US61/349,718 | 2010-05-28 | ||
PCT/US2011/038184 WO2011150234A1 (en) | 2010-05-28 | 2011-05-26 | Shared heartbeat service for managed devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102906730A true CN102906730A (zh) | 2013-01-30 |
Family
ID=45004389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011800253512A Pending CN102906730A (zh) | 2010-05-28 | 2011-05-26 | 用于被管理装置的共享心搏服务 |
Country Status (4)
Country | Link |
---|---|
US (2) | US8756311B2 (zh) |
EP (1) | EP2577492A4 (zh) |
CN (1) | CN102906730A (zh) |
WO (1) | WO2011150234A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052735A (zh) * | 2013-03-15 | 2014-09-17 | 兄弟工业株式会社 | 信息处理装置、中继服务器、信息中继方法、控制方法和通信系统 |
CN104052785A (zh) * | 2013-03-11 | 2014-09-17 | Sap股份公司 | 利用通用消息传输协议管理移动设备 |
CN106470120A (zh) * | 2015-08-20 | 2017-03-01 | 通用汽车环球科技运作有限责任公司 | 可配置的通信模块 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8731542B2 (en) | 2005-08-11 | 2014-05-20 | Seven Networks International Oy | Dynamic adjustment of keep-alive message intervals in a mobile network |
CN102906730A (zh) | 2010-05-28 | 2013-01-30 | 无极公司 | 用于被管理装置的共享心搏服务 |
EP3647962A1 (en) | 2010-07-26 | 2020-05-06 | Seven Networks, LLC | Context aware traffic management for resource conservation in a wireless network |
WO2013015835A1 (en) | 2011-07-22 | 2013-01-31 | Seven Networks, Inc. | Mobile application traffic optimization |
EP2599003B1 (en) | 2010-07-26 | 2018-07-11 | Seven Networks, LLC | Mobile network traffic coordination across multiple applications |
US8438246B2 (en) * | 2010-09-15 | 2013-05-07 | Sony Mobile Communications Ab | Device management using a RESTful interface |
US9992055B2 (en) | 2010-12-31 | 2018-06-05 | Openpeak Llc | Disseminating commands from a DMS server to fielded devices using an extendable command architecture |
CN102685768B (zh) * | 2011-03-08 | 2016-02-03 | 华为技术有限公司 | 心跳消息的处理方法、心跳周期的获取方法及接入网设备 |
WO2011113383A2 (zh) * | 2011-04-26 | 2011-09-22 | 华为终端有限公司 | 一种业务处理的方法和服务器 |
US9143529B2 (en) | 2011-10-11 | 2015-09-22 | Citrix Systems, Inc. | Modifying pre-existing mobile applications to implement enterprise security policies |
US9280377B2 (en) | 2013-03-29 | 2016-03-08 | Citrix Systems, Inc. | Application with multiple operation modes |
US8756453B2 (en) | 2011-11-15 | 2014-06-17 | International Business Machines Corporation | Communication system with diagnostic capabilities |
US8769089B2 (en) * | 2011-11-15 | 2014-07-01 | International Business Machines Corporation | Distributed application using diagnostic heartbeating |
US8874974B2 (en) | 2011-11-15 | 2014-10-28 | International Business Machines Corporation | Synchronizing a distributed communication system using diagnostic heartbeating |
US9244796B2 (en) | 2011-11-15 | 2016-01-26 | International Business Machines Corporation | Diagnostic heartbeat throttling |
US8903893B2 (en) | 2011-11-15 | 2014-12-02 | International Business Machines Corporation | Diagnostic heartbeating in a distributed data processing environment |
US8837485B2 (en) | 2012-06-26 | 2014-09-16 | Cisco Technology, Inc. | Enabling communication of non-IP device in an IP-based infrastructure |
US9384466B2 (en) * | 2012-09-26 | 2016-07-05 | Oracle International Corporation | Systems and methods for extending any service to existing systems by using an adaptive common interface |
US9971585B2 (en) | 2012-10-16 | 2018-05-15 | Citrix Systems, Inc. | Wrapping unmanaged applications on a mobile device |
WO2014062804A1 (en) | 2012-10-16 | 2014-04-24 | Citrix Systems, Inc. | Application wrapping for application management framework |
US9270583B2 (en) | 2013-03-15 | 2016-02-23 | Cisco Technology, Inc. | Controlling distribution and routing from messaging protocol |
US9985850B2 (en) * | 2013-03-29 | 2018-05-29 | Citrix Systems, Inc. | Providing mobile device management functionalities |
US10284627B2 (en) | 2013-03-29 | 2019-05-07 | Citrix Systems, Inc. | Data management for an application with multiple operation modes |
US9894143B1 (en) * | 2013-11-06 | 2018-02-13 | Amazon Technologies, Inc. | Pre-processing and processing pipeline for queue client |
US9819626B1 (en) * | 2014-03-28 | 2017-11-14 | Amazon Technologies, Inc. | Placement-dependent communication channels in distributed systems |
US10200330B2 (en) | 2015-12-10 | 2019-02-05 | Facebook, Inc. | Techniques for ephemeral messaging with a message queue |
US9906480B2 (en) * | 2015-12-10 | 2018-02-27 | Facebook, Inc. | Techniques for ephemeral messaging with legacy clients |
CN106850264B (zh) * | 2016-12-28 | 2019-09-10 | 武汉船舶通信研究所 | 一种网络设备 |
CN112416629B (zh) * | 2020-12-10 | 2023-07-25 | 深圳市富途网络科技有限公司 | 数据互通方法、系统及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030130984A1 (en) * | 2001-11-15 | 2003-07-10 | Sean Quinlan | System and methods for asynchronous synchronization |
US20040098449A1 (en) * | 2000-01-20 | 2004-05-20 | Shai Bar-Lavi | System and method for disseminating information over a communication network according to predefined consumer profiles |
US7120688B1 (en) * | 2002-09-03 | 2006-10-10 | Bellsouth Intellectual Property Corp. | Systems and methods for an infrastructure centralized heartbeat |
CN101952811A (zh) * | 2007-10-24 | 2011-01-19 | 兰特罗尼克斯公司 | 用于中心管理站自动分发配置信息到远程装置的各种方法和设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1354449A1 (en) * | 2001-01-19 | 2003-10-22 | Openwave Systems Inc. | Computer solution and software product to establish error tolerance in a network environment |
US7512939B2 (en) | 2004-10-05 | 2009-03-31 | Neopost Technologies | System and method of secure updating of remote device software |
US7620001B2 (en) | 2004-10-13 | 2009-11-17 | Good Technology, Inc. | Communication system and method with mobile devices |
US7886295B2 (en) * | 2005-02-17 | 2011-02-08 | International Business Machines Corporation | Connection manager, method, system and program product for centrally managing computer applications |
US8261290B2 (en) * | 2005-12-30 | 2012-09-04 | Microsoft Corporation | Heartbeat subscriptions |
US7716414B2 (en) | 2006-03-31 | 2010-05-11 | Hewlett-Packard Development Company, L.P. | Method for updating a mobile device using an update package obtained from a remote server |
US20070294380A1 (en) | 2006-06-14 | 2007-12-20 | Kabushiki Kaisha Toshiba | System and method for periodic server-to-client data delivery |
US20090288079A1 (en) * | 2008-05-13 | 2009-11-19 | Google Inc. | Automatic installation of a software product on a device |
US20100077035A1 (en) * | 2008-09-23 | 2010-03-25 | Nokia Corporation | Optimized Polling in Low Resource Devices |
US20100281474A1 (en) | 2009-04-30 | 2010-11-04 | Eason Patrick C | Firmware updating |
US8266290B2 (en) * | 2009-10-26 | 2012-09-11 | Microsoft Corporation | Scalable queues on a scalable structured storage system |
CN102906730A (zh) | 2010-05-28 | 2013-01-30 | 无极公司 | 用于被管理装置的共享心搏服务 |
-
2011
- 2011-05-26 CN CN2011800253512A patent/CN102906730A/zh active Pending
- 2011-05-26 US US13/116,834 patent/US8756311B2/en not_active Expired - Fee Related
- 2011-05-26 WO PCT/US2011/038184 patent/WO2011150234A1/en active Application Filing
- 2011-05-26 EP EP11787430.5A patent/EP2577492A4/en not_active Withdrawn
-
2014
- 2014-06-16 US US14/305,448 patent/US20140359117A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040098449A1 (en) * | 2000-01-20 | 2004-05-20 | Shai Bar-Lavi | System and method for disseminating information over a communication network according to predefined consumer profiles |
US20030130984A1 (en) * | 2001-11-15 | 2003-07-10 | Sean Quinlan | System and methods for asynchronous synchronization |
US7120688B1 (en) * | 2002-09-03 | 2006-10-10 | Bellsouth Intellectual Property Corp. | Systems and methods for an infrastructure centralized heartbeat |
CN101952811A (zh) * | 2007-10-24 | 2011-01-19 | 兰特罗尼克斯公司 | 用于中心管理站自动分发配置信息到远程装置的各种方法和设备 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104052785A (zh) * | 2013-03-11 | 2014-09-17 | Sap股份公司 | 利用通用消息传输协议管理移动设备 |
CN104052735A (zh) * | 2013-03-15 | 2014-09-17 | 兄弟工业株式会社 | 信息处理装置、中继服务器、信息中继方法、控制方法和通信系统 |
CN104052735B (zh) * | 2013-03-15 | 2018-05-11 | 兄弟工业株式会社 | 信息处理装置、中继服务器、信息中继方法、控制方法和通信系统 |
CN106470120A (zh) * | 2015-08-20 | 2017-03-01 | 通用汽车环球科技运作有限责任公司 | 可配置的通信模块 |
CN106470120B (zh) * | 2015-08-20 | 2020-04-10 | 通用汽车环球科技运作有限责任公司 | 用于在车辆中提供无线通信和远程信息处理的系统 |
Also Published As
Publication number | Publication date |
---|---|
US20110296011A1 (en) | 2011-12-01 |
EP2577492A4 (en) | 2015-01-07 |
US20140359117A1 (en) | 2014-12-04 |
US8756311B2 (en) | 2014-06-17 |
WO2011150234A1 (en) | 2011-12-01 |
EP2577492A1 (en) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102906730A (zh) | 用于被管理装置的共享心搏服务 | |
Eisele et al. | Riaps: Resilient information architecture platform for decentralized smart systems | |
Kim et al. | IoT home gateway for auto-configuration and management of MQTT devices | |
CN104429037B8 (zh) | 用于连接到通信设备的方法、设备及系统 | |
Atzori et al. | SDN&NFV contribution to IoT objects virtualization | |
EP3123667B1 (en) | Method for monitoring a status in form of presence and/or absence of a network entity | |
US20050120073A1 (en) | Method and apparatus for sharing applications using P2P protocol | |
CN101341720A (zh) | 虚拟通用即插即用控制点 | |
Leguay et al. | An efficient service oriented architecture for heterogeneous and dynamic wireless sensor networks | |
JP2015520436A (ja) | ウェブクライアントがウェブサービスを提供するのを可能にすること | |
Saadeh et al. | Internet of Things: A review to support IoT architecture's design | |
JP5865277B2 (ja) | 認証スイッチまたはネットワークシステム | |
Klauck et al. | Chatty things-Making the Internet of Things readily usable for the masses with XMPP | |
Khakimov et al. | Investigation of methods for remote control IoT-devices based on cloud platforms and different interaction protocols | |
JP2011526711A (ja) | 通信ネットワーク内の事象を監視するための方法 | |
Derhamy et al. | Translation error handling for multi-protocol SOA systems | |
JP2013178743A (ja) | 機器管理装置、機器管理システム、及びプログラム | |
CN112566164A (zh) | 一种通信系统及服务质量控制方法 | |
Aburumman et al. | A domain-based multi-cluster SIP solution for mobile ad hoc network | |
US20220345371A1 (en) | Control configuration for a plurality of endpoint devices | |
JP2013178744A (ja) | 情報処理装置及びプログラム | |
CN110417905B (zh) | 一种合约发布方法、装置、设备和联盟链系统 | |
JPWO2014061314A1 (ja) | コンテンツ配信方法 | |
KR101207219B1 (ko) | 데이터 분산 서비스 네트워크 과부하 방지 방법 | |
Jo et al. | IoTivity-lite: Comprehensive IoT solution in a constrained memory device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130130 |