CN109690491A - 执行远程命令 - Google Patents

执行远程命令 Download PDF

Info

Publication number
CN109690491A
CN109690491A CN201780052097.2A CN201780052097A CN109690491A CN 109690491 A CN109690491 A CN 109690491A CN 201780052097 A CN201780052097 A CN 201780052097A CN 109690491 A CN109690491 A CN 109690491A
Authority
CN
China
Prior art keywords
equipment
remote
theme
command messages
executable code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201780052097.2A
Other languages
English (en)
Other versions
CN109690491B (zh
Inventor
拉米兹·洛拉迪亚
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN109690491A publication Critical patent/CN109690491A/zh
Application granted granted Critical
Publication of CN109690491B publication Critical patent/CN109690491B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1859Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Abstract

利用消息传递协议来提供计算设备可执行代码的通信系统和方法。管理部件可以在内容发布内包括可执行代码或指令。注册为接收所述内容的计算设备可以接收并执行所述代码(或指令)并利用相同的消息传递协议来发布要传递给所述管理设备的处理结果。

Description

执行远程命令
背景技术
一般而言,计算设备利用一个通信网络或一系列通信网络来交换数据。公司和组织操作计算机网络,所述计算机网络互连多个计算设备以支持运营或向第三方提供服务。计算系统可以位于单个地理位置或位于多个不同的地理位置(例如,经由私人或公共通信网络互连)。具体地,本文统称为“数据中心”的数据中心或数据处理中心可以包括多个互连的计算系统以向数据中心的用户提供计算资源。数据中心可以是代表组织运营的私人数据中心,或者可以是代表公众或出于公众利益运营的公共数据中心。
为了促进数据中心资源的加大利用,虚拟化技术允许单个物理计算机托管一个或多个虚拟机实例,这些虚拟机实例对于连接的计算机用户而言表现且操作为独立的计算机。利用虚拟化,单个物理计算设备可以以动态方式创建、维护或删除虚拟机。反过来,用户可以从数据中心请求计算机资源,并“按需”地或至少“按请求”地获得不同数量的虚拟机资源。除了虚拟机之外,数据中心还可以提供其他计算资源,包括硬件计算能力、数据存储空间,网络带宽等。
在一些环境中,经由通信网络进行通信的计算设备可以对应于以计算设备为主要功能的设备,例如台式个人计算机。在其他环境中,经由通信网络进行通信的计算设备的至少一部分可以对应于具有至少一个替代主要功能的嵌入式设备或精简设备,例如具有单独主要用途同时还提供至少有限的计算功能的家用电器(例如,恒温器或冰箱)。
附图说明
贯穿附图,可重复使用参考数字来指示参考的元件之间的对应关系提供附图是为了说明本文描述的示例性实施方案,而附图并非旨在限制本公开的范围。
图1是根据一个实施方案的通信管理环境的框图,该通信管理环境包括一个或多个客户端设备、一个或多个管理设备和内容管理系统;
图2是根据说明性实施方案的被配置为远程处理内容的客户端计算设备的说明性部件的框图;
图3是根据说明性实施方案的被配置为提供内容的远程命令服务计算设备的说明性部件的框图;
图4A是根据说明性实施方案的图1的通信管理环境的框图,示出了在生成对内容的请求时所示部件之间的交互;
图4B是根据说明性实施方案的图1的通信管理环境的框图,示出了用于生成和发布包括可执行代码的内容的所示部件之间的交互;
图4C是根据说明性实施方案的图1的通信管理环境的框图,示出了在生成和发布处理结果时所示部件之间的交互;
图5A是根据说明性实施方案的图1的通信管理环境的框图,示出了在生成对内容的请求时所示部件之间的交互;
图5B是图1的通信管理环境的框图,示出了用于根据压缩词典生成和处理压缩数据的所示部件之间的交互;
图5C是根据说明性实施方案的图1的通信管理环境的框图,示出了在生成和发布处理结果时所示部件之间的交互;
图6是说明根据说明性实施方案的由远程命令服务部件实现的远程执行消息传递例程的流程图;以及
图7是说明根据说明性实施方案的由客户端计算设备实现的远程执行消息传递例程的流程图。
具体实施方式
一般而言,本申请对应于对在通信网络中的计算设备之间传输的数据的管理。更具体地,本申请的各方面对应于利用消息传递协议来促进对客户端计算设备的管理。说明性地,一个或多个客户端设备利用消息传递协议(例如MQTT消息传递协议)来交换内容。根据本申请的各方面,管理部件可以在内容发布内包括可执行代码或指令。客户端设备可以执行代码(或指令)并利用相同的消息传递协议来发布要传递给管理设备的处理结果。通过利用现有的消息传递协议,本申请的各方面缓解了客户端设备和管理设备参与单独的设备到设备通信以交换可执行代码的需求。
参考说明性示例,一个或多个客户端计算设备与提供一个或多个远程命令服务的服务提供商进行通信。远程命令服务通过利用标准消息传递协议来促进与其他计算设备的通信。说明性地,消息传递协议可以包括供设备向远程命令服务进行注册以接收与特定主题相关的内容的能力。当远程命令服务接收与某一主题相关的内容时,远程命令服务然后可以将该内容转发或发布到注册的设备。在一个实施方案中,远程命令服务可以利用MQTT消息传递协议。
继续参考前面的示例,为了促进在不利用直接通信的情况下传递内容,一个或多个客户端设备经由MQTT协议进行注册以接收与内容传递主题(例如,与传递和执行可执行代码相对应的指定主题)相关的内容。此后,管理设备可以将内容发布到远程命令服务,该内容包括将由一个或多个设备实现的可执行代码。当内容被发布到远程命令服务时,远程命令服务然后可以基于注册信息将内容转发或推送到客户端设备。另外,管理设备可以向远程命令服务进行注册以接收与内容执行主题(例如,与执行代码的结果相对应的指定主题)相关的内容。
在执行可执行代码(或其他内容)之后,客户端设备可以向远程命令服务发布包括处理可执行代码的结果的内容。当内容被发布到远程命令服务时,远程命令服务然后可以基于注册信息将内容转发或推送到管理设备。
尽管出于说明的目的,本公开中描述的一些实施方案的各方面将集中于MQTT消息传递协议和设备的其他配置,但是相关领域的技术人员将理解,这些示例仅是说明性的,而不一定是限制性的。
图1是描绘说明性逻辑网络100的框图,该逻辑网络包括经由网络120与内容管理系统110进行通信的多个客户端计算设备102和多个管理设备104。虽然客户端计算设备102和管理设备104在图1中被示为组,但是,客户端计算设备102和管理设备104(单独地或作为分组)可以在地理上远离,并且被独立拥有或操作。例如,客户端计算设备102可以代表位于各种全球性、大陆性或区域性位置的访问内容解析系统110的众多用户。在另一示例中,客户端计算设备102可以是与特定用户相关联的多个设备的分组的一部分,例如若干个与各种设备相关联的计算部件。类似地,虽然示出了一组说明性部件来代表内容管理系统110,但是,每个部件的多个实例可以存在于内容管理系统110内,并且这些部件可以位于地理上不同的区域内(例如,全球性、大陆性,或者区域性区域内),以便为内容管理系统110提供广泛的地理存在。
网络120可以是任何有线网络、无线网络或其组合。另外,网络120还可以是个人区域网络、局域网、广域网、有线网络、卫星网络、蜂窝电话网络或其组合。在图1的示例环境中,网络120是全球网(GAN),例如因特网。用于经由其他上述类型的通信网络进行通信的协议和部件是计算机通信领域的技术人员所熟知的,因此本文不需要进行更详细的描述。虽然客户端计算设备102、管理设备104和内容管理系统110中的每一个都被描绘为具有到网络120的单个连接,但是,客户端计算设备102、管理设备104和内容管理系统110的各个部件可以是在不同的点连接到网络120。因此,通信时间和能力可以在图1的各部件之间有所不同。
客户端计算设备102可以包括能够与内容管理系统110进行通信的任何数量的不同计算设备。例如,各个访问计算设备可以对应于膝上型计算机或平板计算机、个人计算机、可穿戴计算机、服务器、个人数字助理(PDA)、混合型PDA/手机、移动电话、电子书阅读器、机顶盒、相机、数字媒体播放器等。每个客户端计算设备102都可以可选地包括一个或多个数据存储(图1中未示出),包括用于实现本文公开的实施方案的各种应用程序或计算机可执行指令,例如web浏览器。就个体而言,客户端计算设备102通常可以访问比内容管理系统110少的计算资源(例如,处理能力、存储器、持久存储空间、电子能力、网络通信能力等)。将参考图2描述客户端计算设备102的说明性部件。在一个实施方案中,客户端计算设备102可以被称为物联网(“IOT”)设备,所述物联网设备代表这样一类设备:其中计算功能可以嵌入在具有至少一个附加替代功能的设备中。示例包括但不限于家用电器、用于各种其他设备的控制设备、消费品等。
类似于客户端计算设备102,管理设备104可以包括能够与内容管理系统110进行通信的任何数量的不同计算设备。例如,各个访问计算设备可以对应于膝上型计算机或平板计算机、个人计算机、可穿戴计算机、服务器、个人数字助理(PDA)、混合型PDA/手机、移动电话、电子书阅读器、机顶盒、相机、数字媒体播放器等。每个客户端计算设备104都可以可选地包括一个或多个数据存储(图1中未示出),包括用于实现本文公开的实施方案的各种应用程序或计算机可执行指令,例如web浏览器。就个体而言,客户端计算设备104通常可以访问比内容管理系统110少的计算资源(例如,处理能力、存储器、持久存储空间、电子能力、网络通信能力等)。
根据实施方案,内容管理系统110包括用于实现远程命令服务114的一个或多个服务器、用于实现与客户端计算设备102相关联的虚拟机实例的一个或多个主计算设备116,以及可执行代码数据存储112。如下面进一步详细描述的,远程命令服务114可以从客户端计算设备102和管理设备104接收对与特定主题相关联的内容项的注册请求。这样,在一些方面,远程命令服务114可以接收由管理设备104发布的内容,所述管理设备包括可由客户端设备102执行的可执行代码或其他指令。在其他方面,远程命令服务114可以接收由客户端计算设备102发布的与处理结果相对应的内容。然后,远程命令服务114可以发布所接收的内容。将参考图3描述中间服务器114的说明性部件。
本领域技术人员将理解,内容管理系统110可以具有比图1中所示更少或更多的部件。因此,图1中的内容解析系统110的描绘应该被视为说明性的。例如,在一些实施方案中,内容管理系统110的部件(诸如远程命令服务114)可以由在托管计算环境中实现的一个或多个虚拟机来执行。托管计算环境可以包括一个或多个快速供应和释放的计算资源,这些计算资源可以包括计算设备、网络设备和或存储设备。
图2描绘了根据本申请的可以生成和处理压缩的内容的说明性客户端计算设备102的架构的一个实施方案。图2中描绘的客户端计算设备102的通用架构包括可用于实现本公开的各方面的计算机硬件和软件部件的布置。如图所示,管理部件112包括处理单元204、网络接口206、计算机可读介质驱动器207、输入/输出设备接口220、可选显示器202和输入设备224,所有这些都可以通过通信总线彼此进行通信。说明性地,客户端计算设备102可以具有较有限的功能和部件(例如输入或输出)作为嵌入式设备。
网络接口206可以提供与一个或多个网络或计算系统(例如图1的网络120)的连接性。处理单元204可因此经由网络接收来自其他计算系统或服务的信息和指令。处理单元204还可以与存储器210来回通信,并且还经由输入/输出设备接口220为可选显示器202提供输出信息。输入/输出设备接口220还可以接受来自可选输入设备224(例如键盘、鼠标、数字笔等)的输入。在一些实施方案中,客户端102可以包括比图2中所示的部件更多(或更少)的部件。例如,客户端计算设备102的一些实施方案可以省略显示器202和输入设备224,同时通过一个或多个备选通信信道(例如,经由网络接口206)来提供输入/输出能力。
存储器210可以包括由处理单元204执行以便实现一个或多个实施方案的计算机程序指令。存储器210通常包括RAM、ROM或其他持久性或非暂时性存储器。存储器210可以存储操作系统214,所述操作系统提供供处理单元204在客户端102的一般管理和操作中使用的计算机程序指令。存储器210还可以包括用于实现本公开的各方面的计算机程序指令和其他信息。例如,在一个实施方案中,存储器210包括用于访问内容的浏览器应用程序216。存储器210还可以包括可执行代码处理部件218,以处理和执行由管理设备104提供的代码。客户端计算设备102还可以包括可执行代码数据存储218,以维护由客户端计算设备接收的可执行代码,其可以被省略。更进一步地,客户端计算设备102可包括安全部件220,以促进对客户端计算设备102的各个用户或客户端计算设备本身的安全凭证的验证和处理。
图3描绘了用于实现本文描述的远程命令服务114部件的说明性服务器的架构的一个实施方案。图3中描绘的远程命令服务114的通用架构包括可用于实现本公开的各方面的计算机硬件和软件部件的布置。如图所示,远程命令服务114包括处理单元304、网络接口306、计算机可读介质驱动器307、输入/输出设备接口320、可选显示器302和输入设备324,所有这些都可以通过通信总线彼此进行通信。远程命令服务114的部件可以是物理硬件部件或在虚拟化环境中实现。
网络接口306可以提供与一个或多个网络或计算系统(例如图1的网络130)的连接性。处理单元304可因此经由网络接收来自其他计算系统或服务的信息和指令。处理单元304还可以与存储器310来回通信,并且还经由输入/输出设备接口320为可选显示器302提供输出信息。输入/输出设备接口320还可以接受来自可选输入设备324(例如键盘、鼠标、数字笔等)的输入。在一些实施方案中,远程命令服务114可以包括比图3中所示的部件更多(或更少)的部件。例如,远程命令服务114的一些实施方案可以省略显示器202和输入设备224,同时通过一个或多个备选通信信道(例如,经由网络接口306)提供输入/输出能力。
存储器310可以包括由处理单元304执行以便实现一个或多个实施方案的计算机程序指令。存储器310通常包括RAM、ROM或其他持久性或非暂时性存储器。存储器310可以存储操作系统314,所述操作系统提供供处理单元304在中间服务器114的一般管理和操作中使用的计算机程序指令。存储器310还可以包括用于实现本公开的各方面的计算机程序指令和其他信息。例如,在一个实施方案中,存储器310包括客户端接口软件312,以接收和处理来自客户端设备102的内容请求。另外,存储器310包括可执行代码处理部件316,以处理要发送到客户端计算设备102的可执行代码。更进一步地,存储器310可以包括安全部件318,以促进对客户端计算设备102的各个用户或客户端计算设备本身的安全凭证的验证和处理。安全部件318可以对应于客户端计算设备102的安全部件220(图2)。
现在转向图4A-4C,将描述内容管理系统110的部件之间为处理内容而进行的说明性交互。更具体地,将关于客户端计算设备102、管理设备104和远程命令服务114之间的交互来描述图4A-4C。另外,尽管描绘为客户端计算设备102、管理设备104和远程命令服务114之间的单个交互,但是在一些实施方案中,远程命令服务可以使用图4A-4C中所示的相同过程来与多个客户端计算设备102进行交互。
参考图4A,在(1)处,客户端计算设备102生成设备连接请求并将该请求发送到远程命令服务114。说明性地,设备连接请求对应于建立与远程服务114对客户端计算设备102的认证和授权相关联的过程。更进一步地,在一些实施方案中,逻辑网络100可以包括附加的网关部件,所述网关部件独立地或作为内容管理系统110的一部分来管理向远程命令服务114的消息传输。这样的网关部件可以实现安全功能、负载平衡或其他网络处理服务。
在(2)处,远程命令服务114处理连接请求,例如通过验证安全信息、请求附加信息或确定请求客户端计算设备102的特性。在(3)处,如果连接请求是可接受和授权的,则远程命令服务114将连接确认发送到请求客户端计算设备102。在这方面,一旦被授权,客户端计算设备和远程命令服务114就可以在诸如MQTT的消息传递协议中定义的过程内开始通信。
现在参考图4B,在接收到连接确认之后,在(1)处,客户端计算设备102将一个或多个主题注册请求发送到远程命令服务114。说明性地,根据消息传递协议来定义主题注册,使得客户端计算设备102可以注册以接收由任何数量的内容提供商根据特定主题发布的内容。当应用于本申请时,客户端计算设备102注册已经被识别为将由客户端计算设备执行的可执行代码的一个或多个主题,通常被称为“更新主题”。在一个实施方案中,客户端计算设备102可以被预先配置为注册更新主题。在其他实施方案中,各个用户可以与客户端计算设备102进行交互,以配置客户端计算设备以注册更新主题。更新主题对于各个客户端计算设备102可以是唯一的。或者,更新主题可以应用于多个客户端计算设备102或多组客户端计算设备102。
在注册之后的某个时刻,在(2)处,管理设备104将一段或多段内容发布到远程命令服务114。每段已发布的内容都与主题相关联。出于说明性示例的目的,至少一个已发布内容与对应于客户端计算设备102的注册主题的更新主题相关联。另外,与更新内容相关联的所发布的内容段包括或以其他方式引用期望由一个或多个客户端计算设备102实现的可执行代码、配置或其他指令。
在(3)处,远程命令服务114将注册的主题与发布的主题相匹配,以确定客户端计算设备102应该接收具有更新主题的已发布内容。在(4)处,远程命令服务114发送已发布的内容。说明性地,已发布内容的发送是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。
参考4C,在(1)处,客户端计算设备102处理所接收的已发布内容,提取任何可执行代码或指令并执行所提取的代码/指令。相关领域的技术人员将理解,可执行代码可以使客户端计算设备102修改配置、更新可执行代码或数据、实现某种动作等。在(2)处,客户端计算设备经由消息传递协议生成并发布与表示代码的处理结果的信息有关的内容。在一些实施方案中,处理结果可以对应于是否成功执行代码的二进制判断。在另一实施方案中,处理结果可包括表示代码/指令的执行的一个或多个值或者详述关于代码/指令的执行的信息的日志。以类似于关于更新主题的发布所描述的类似的方式,一种或多种处理结果的发布可以与特定主题相关联,这种主题通常被称为“处理结果主题”。
更进一步,在其他实施方案中,客户端计算设备102可以发布进度报告作为可执行代码的处理的一部分。在这些实施方案中,客户端计算设备102可能不一定完成了对整个可执行代码的处理。其可以将检查点结果发布到远程命令服务114或附加部件,例如用于监视进度的独立部件。在这方面,处理结果的发布可以包括一些信息,例如回滚信息,其有助于客户端计算设备102回滚或撤消所执行代码的某些方面的指令。更进一步,基于所收集的累积进度信息,删除命令服务114或其他专用部件可以编译组统计信息并发布结果。例如,组统计信息可以包括总体完成百分比统计信息、错误率统计信息、成功率统计信息,实施更新期间消耗的资源、与在单个客户端计算设备上执行代码相关联的财务成本(基于归因因子)、执行可执行代码所涉及的资源消耗等。
在(3)处,远程命令服务114将已经注册了进度/更新主题的管理设备与来自客户端设备的发布的主题进行匹配,以确定管理设备104应该接收具有处理结果主题的已发布内容。在(4)处,远程命令服务114发送已发布的内容。说明性地,已发布内容的发送也是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。在一些实施方案中,图4A-4C中概述的整个过程可以重复。另外或替代地,在其他实施方案中,图4A-4C中概述的过程的某些部分可以重复。例如,客户端设备102的处理结果的发布可以在执行代码的各个标志点处重复。
除了接收和处理一个或多个客户端设备102的处理结果之外,在一些实施方案中,管理设备104或远程命令服务114可以监视处理结果发布的接收并识别在定义的时间窗口内没有提供处理结果的任何客户端设备102。在这些实施方案中,可以进一步处理缺少处理结果的发布的情况。例如,管理设备104可以与可执行代码(如图1所示)一起重新发布消息,以尝试使一种或多种客户端设备再次执行代码。在其他示例中,管理设备104可以经由消息来引起附加可执行代码的传输,以尝试修复客户端设备102或以其他方式停用客户端设备。
现在转向图5A-4C,将描述内容管理系统110的部件之间为处理内容而进行的说明性交互。更具体地,将关于客户端计算设备102、由主计算设备116实现的虚拟客户端计算设备、管理设备104和远程命令服务114之间的交互来描述图5A-5C。在该实施方案中,内容管理系统110可以利用一个或多个客户端计算设备102的虚拟化表示,其将遵循与更新主题的发布和处理相关联的类似交互。此后,对虚拟客户端设备116的所得更新可以与实际客户端计算设备102同步。
参考图5A,在(1)处,虚拟客户端计算设备116生成设备连接请求并将该请求发送到远程命令服务114。说明性地,设备连接请求对应于建立与远程服务114对虚拟客户端计算设备116的认证和授权相关联的过程。
在(2)处,远程命令服务114处理连接请求,例如通过验证安全信息、请求附加信息或确定请求虚拟客户端计算设备116的特性。在(3)处,如果连接请求是可接受和授权的,则远程命令服务114将连接确认发送到请求虚拟客户端计算设备116。在这方面,一旦被授权,客户端计算设备和远程命令服务114就可以在诸如MQTT的消息传递协议中定义的过程内开始通信。
现在参考图5B,在接收到连接确认之后,在(1)处,虚拟客户端计算设备116将一个或多个主题注册请求发送到远程命令服务114。说明性地,根据消息传递协议来定义主题注册,使得虚拟客户端计算设备116可以注册以接收由任何数量的内容提供商根据特定主题发布的内容。当应用于本申请时,虚拟客户端计算设备116注册已经被识别为将由客户端计算设备执行的可执行代码的一个或多个主题,通常被称为“更新主题”。在一个实施方案中,客户端计算设备102可以被预先配置为注册更新主题。在其他实施方案中,各个用户可以与虚拟客户端计算设备116进行交互,以配置客户端计算设备以注册更新主题。更新主题对于单个虚拟客户端计算设备116或设备组可以是唯一的。
在注册之后的某个时刻,在(2)处,管理设备104将一段或多段内容发布到远程命令服务114。每段已发布的内容都与主题相关联。出于说明性示例的目的,至少一个已发布内容与对应于虚拟客户端计算设备116的注册主题的更新主题相关联。另外,与更新内容相关联的所发布的内容段包括或以其他方式引用期望由一个或多个虚拟客户端计算设备116实现的可执行代码、配置或其他指令。
在(3)处,远程命令服务114将注册的主题与发布的主题相匹配,以确定客户端计算设备102应该接收具有更新主题的已发布内容。在(4)处,远程命令服务114发送已发布的内容。说明性地,已发布内容的发送是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。
参考图5C,在(1)处,虚拟客户端计算设备116处理所接收的已发布内容,提取任何可执行代码或指令并执行所提取的代码/指令。相关领域的技术人员将理解,可执行代码可以使虚拟客户端计算设备116修改配置、更新可执行代码或数据、实现某些动作等。在(2)处,客户端计算设备经由消息传递协议生成并发布与表示代码的处理结果的信息有关的内容。在一些实施方案中,处理结果可以对应于是否成功执行代码的二进制判断。在另一实施方案中,处理结果可包括表示代码/指令的执行的一个或多个值或者详述关于代码/指令的执行的信息的日志。以类似于关于更新主题的发布所描述的类似的方式,一种或多种处理结果的发布可以与特定主题相关联,这种主题通常被称为“处理结果主题”。
在(3)处,远程命令服务114将注册的主题与发布的主题相匹配,以确定管理设备104应该接收具有处理结果主题的已发布内容。在(4)处,远程命令服务114发送已发布的内容。说明性地,已发布内容的发送也是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。在(5)处,虚拟客户端计算设备116与客户端计算设备102同步。在一个实施方案中,虚拟客户端计算设备116可以利用其他网络协议来确定对客户端计算设备的增量更新,并将数据传输限制为增量更新。
图6是说明根据说明性实施方案的由远程命令服务部件114实现的远程执行消息传递例程600的流程图。在框602处,远程命令服务114获取注册信息,包括与客户端计算设备102或客户端计算设备组102远程执行内容有关的至少一个主题。如前所述,客户端计算设备102将一个或多个主题注册请求发送到远程命令服务114。说明性地,根据消息传递协议来定义主题注册,使得客户端计算设备102可以注册以接收由任何数量的内容提供商根据特定主题发布的内容。在一个实施方案中,客户端计算设备102可以被预先配置为注册更新主题。在其他实施方案中,各个用户可以与客户端计算设备102进行交互,以配置客户端计算设备以注册更新主题。更新主题对于各个客户端计算设备102可以是唯一的。或者,更新主题可以应用于多个客户端计算设备102或多组客户端计算设备102。
在注册之后的某个时刻,在框604处,远程命令服务114获取关于更新主题的一个或多个发布。说明性地,管理设备104将一段或多段内容发布到远程命令服务114。每段已发布的内容都与主题相关联。出于说明性示例的目的,至少一个已发布内容与对应于客户端计算设备102的注册主题的更新主题相关联。另外,与更新内容相关联的所发布的内容段包括或以其他方式引用期望由一个或多个客户端计算设备102实现的可执行代码、配置或其他指令。
在框606处,远程命令服务114将注册的主题与发布的主题相匹配,以确定客户端计算设备102应该接收具有更新主题的已发布内容,从而形成应该接收发布的主题的客户端设备组。说明性地,由于远程命令服务114是根据诸如MQTT之类的消息传递协议来配置的,因此可以以消息传递协议所规定的方式来完成与主题发布的匹配注册。在框608处,远程命令服务114发送已发布的内容。类似地,已发布内容的发送是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。客户端计算设备102处理所接收的已发布内容,提取任何可执行代码或指令并执行所提取的代码/指令。相关领域的技术人员将理解,可执行代码可以使客户端计算设备102修改配置、更新可执行代码或数据、实现某种动作等。
在框610处,远程命令服务114获取与执行代码的处理相对应的处理结果。说明性地,客户端计算设备经由消息传递协议生成并发布与表示代码的处理结果的信息有关的内容。在一些实施方案中,处理结果可以对应于是否成功执行代码的二进制判断。在另一实施方案中,处理结果可包括表示代码/指令的执行的一个或多个值或者详述关于代码/指令的执行的信息的日志。以类似于关于更新主题的发布所描述的类似的方式,一种或多种处理结果的发布可以与特定主题相关联,这种主题通常被称为“处理结果主题”。
在框612处,远程命令服务114将注册的主题与发布的主题相匹配,以确定管理设备104应该接收具有处理结果主题的已发布内容并发送已发布的内容。说明性地,已发布内容的发送也是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。如前所述,在其他实施方案中,基于所收集的累积进度信息,远程命令服务114或其他专用部件可以编译组统计信息并发布结果。例如,组统计信息可以包括总体完成百分比统计信息、错误率统计信息、成功率统计信息,实施更新期间消耗的资源、与在单个客户端计算设备上执行代码相关联的财务成本(基于归因因子)、执行可执行代码所涉及的资源消耗等。
在框614处,例程600终止。
图7是说明根据说明性实施方案的由客户端计算设备102实现的远程执行消息传递例程700的流程图。在框702处,客户端计算设备102将一个或多个主题注册请求发送到远程命令服务114。如上所述,根据消息传递协议来定义主题注册,使得客户端计算设备102可以注册以接收由任何数量的内容提供商根据特定主题发布的内容。在一个实施方案中,客户端计算设备102可以被预先配置为注册更新主题。在其他实施方案中,各个用户可以与客户端计算设备102进行交互,以配置客户端计算设备以注册更新主题。更新主题对于各个客户端计算设备102可以是唯一的。或者,更新主题可以应用于多个客户端计算设备102或多组客户端计算设备102。
响应于接收到已发布的内容,远程命令服务114将注册的主题与发布的主题相匹配,以确定客户端计算设备102应该接收具有更新主题的已发布内容。在框704处,客户端计算设备102接收来自远程命令服务114的已发布内容。说明性地,已发布内容的发送是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。
作为执行内容的一部分或在内容的执行之后,在框706处,客户端计算设备获取远程执行的结果。在一些实施方案中,处理结果可以对应于是否成功执行代码的二进制判断。在另一实施方案中,处理结果可包括表示代码/指令的执行的一个或多个值或者详述关于代码/指令的执行的信息的日志。以类似于关于更新主题的发布所描述的类似的方式,一种或多种处理结果的发布可以与特定主题相关联,这种主题通常被称为“处理结果主题”。
在框708处,客户端计算设备102经由消息传递协议发布与表示代码的处理结果的信息有关的内容。说明性地,已发布内容的发送是根据消息传递协议(例如MQTT)的过程和能力完成的,并且不需要额外的或替代的通信来引起可执行代码的传输。也如前所述,客户端计算设备102可能不一定在发布处理结果之前完成了对整个可执行代码的处理。其可以将检查点结果发布到远程命令服务114或附加部件,例如用于监视进度的独立部件。另外,处理结果的发布可以包括一些信息,例如回滚信息,其有助于客户端计算设备102回滚或撤消所执行代码的某些方面的指令。在框710处,例程700终止。
上述所有方法和过程可以通过由一个或多个计算机或处理器执行的软件代码模块来体现并且完全自动化。代码模块可存储在任何类型的非暂时性计算机可读介质或其他计算机存储设备中。所述方法中的一些或所有可以可替代地以专用计算机硬件来体现。
除非另外特别说明,否则诸如“能够”、“可以”、“可能”或“可”等条件语言在上下文中通常应理解为用于表示:尽管其他实施方案不包括,但某些实施方案包括某些特征、元件和/或步骤。因此,这样的条件语言通常不意图以任何方式暗指一个或多个实施方案需要特征、元件和/或步骤,或者一个或多个实施方案有必要包括用于在具有或不具有用户输入或提示的情况下决定这些特征、元件和/或步骤是否包括在任何特定实施方案中或将在其中执行。
除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”之类的析取语言在上下文中被理解为通常用于表示项目、术语等可以是X、Y或Z,或其任何组合(例如,X、Y和/或Z)。因此,这样的析取语言通常并不意味着并且不应该暗示某些实施方案要求X中的至少一个、Y中的至少一个或者Z中的至少一个存在。
除非另有明确说明,否则诸如“一个”、“一种”之类的数量词通常应被解释为包括一个/种或多个/种所描述的项目。因此,诸如“被配置为……的设备”的短语意图包括一个或多个所提及设备。这类一个或多个所提及设备也可被共同地配置来执行所陈述的提及项。例如,“被配置为执行提及项A、B和C的处理器”可以包括第一处理器,其被配置为执行提及项A,其与被配置为执行提及项B和C的第二处理器一起工作。
在本文中所述和/或附图中示出的任何例程描述、元件或框应理解成潜在地代表包括用于实施例程中的特定逻辑功能或元件的一个或多个可执行指令的模块、片段或代码部分。替代实施方式包括在本文中所述实施方案的范围内,其中如本领域中的技术人员所理解的那样,根据所涉及的功能,元件或功能可被删除、不按照所示出或论述的顺序执行,包括基本上同时执行或逆序执行。
依据以下条款可更好地理解前述内容:
1.一种利用消息传递协议来管理计算设备上的命令的执行的计算机实现的方法,包括:
在远程命令服务处接收来自管理客户端设备的发布的第一命令消息,所述第一命令消息包括用于在根据MQ遥测传输协议订阅第一主题的远程设备上执行的可执行代码;
由所述远程命令服务认证所述第一命令消息;
基于所述第一命令消息向所述远程设备发布关于所述第一主题的第二命令消息;
由所述远程命令服务接收来自所述设备的关于第二主题的发布的响应消息,所述响应消息指示执行所述第二命令消息的结果,其中所述管理客户端设备订阅所述第二主题;以及
由所述远程命令服务向所述管理客户端发布关于所述第二主题的所述响应消息。
2.根据条款1所述的计算机实现的方法,其中基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的所述内容中的至少一项来执行对所述第一命令消息的认证。
3.根据条款1所述的计算机实现的方法,其中所述第二命令消息包括所述第一命令消息的所述可执行代码。
4.根据条款1所述的计算机实现的方法,还包括:
在所述远程设备的虚拟副本上执行所述可执行代码;以及
至少部分地基于所述远程设备的状态和所述远程设备的所述虚拟副本的状态来计算差异,
使所计算的差异传输到所述远程设备,其中所述远程设备用传输的所计算的差异进行更新。
5.一种利用消息协议来管理命令的执行的系统,包括:
管理客户端设备,所述管理客户端设备被配置为根据消息传递协议发布关于第一主题的命令消息,所述消息传递协议定义一个或多个设备订阅根据所述第一主题发布的命令消息的机会;
一个或多个设备,所述一个或多个设备被配置为接收和发布根据所述消息传递协议形成的消息;以及
与所述管理客户端设备和所述一个或多个设备通信的远程命令服务,所述远程命令服务被配置为接收和发布,
其中所述远程命令服务被配置为:
接收来自所述管理客户端设备的与所述第一主题相对应的第一命令消息,所述第一命令消息包括用于在所述一个或多个设备上执行的可执行代码;
基于与所述第一主题相关联的订阅信息,向所述一个或多个设备发布第二命令消息;
接收来自所述一个或多个设备的所述发布的响应消息,所述响应消息对应于关于与所述第二命令消息相关联的代码的执行的指示;以及
向所述管理客户端设备发布关于所述第二主题的所述响应消息。
6.根据条款5所述的系统,其中所述远程命令服务还被配置为基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的所述内容中的至少一项来认证所述第一命令消息。
7.根据条款6所述的系统,其中所述远程命令服务被配置为在将所述第二命令消息发布到所述一个或多个设备之前认证所述第一命令消息。
8.根据条款5所述的系统,还包括所述一个或多个设备的虚拟副本,并且其中所述远程命令服务还被配置为在所述一个或多个设备的所述虚拟副本上执行所述可执行代码。
9.根据条款8所述的系统,其中所述远程命令服务还被配置为在于所述虚拟副本上执行所述可执行代码之后计算差异,所述差异至少部分地基于所述一个或多个设备的所述状态和所述虚拟副本的所述状态来计算。
10.根据条款9所述的系统,其中将所述第二命令消息发布到所述一个或多个设备包括基于所计算的差异来对所述一个或多个设备和所述虚拟副本进行差分同步。
11.根据条款5所述的系统,其中所述第二命令消息包括所述第一命令消息中包括的可执行代码的至少一部分。
12.根据条款5所述的系统,其中所述消息传递协议包括所述MQ遥测传输协议,并且其中所述远程命令服务包括根据所述MQ遥测传输协议的消息代理。
13.一种利用消息协议来管理命令的执行的计算机实现的方法,包括:
在被配置为根据消息传递协议接收和发布消息的远程命令服务处,接收来自管理客户端设备的与第一主题相对应的发布的第一命令消息,所述第一命令消息包括用于在一个或多个远程设备上执行的可执行代码;
基于所述第一命令消息和与所述第一主题相关联的订阅信息,向所述一个或多个远程设备发布第二命令消息;
接收来自所述一个或多个设备的发布的响应消息,所述响应消息对应于关于与所述第二命令消息相关联的代码的执行的指示;以及
向所述管理客户端设备发布关于所述第二主题的所述响应消息。
14.根据条款13所述的计算机实现的方法,还包括基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的所述内容中的至少一项来认证所述第一命令消息。
15.根据条款14所述的计算机实现的方法,其中发布所述第二命令消息在所述第一命令消息被认证之后进行。
16.根据条款13所述的计算机实现的方法,还包括在所述一个或多个设备的虚拟副本上执行所述可执行代码。
17.根据条款16所述的计算机实现的方法,还包括至少部分地基于所述一个或多个设备的状态和所述虚拟副本的状态来计算差异。
18.根据条款17所述的计算机实现的方法,其中将所述第二命令消息发布到所述一个或多个设备包括基于所计算的差异来对所述一个或多个设备和所述虚拟副本进行差分同步。
19.根据条款13所述的计算机实现的方法,其中接收所述发布的响应消息包括接收对应于与所述可执行代码的执行相关联的进度信息的发布的消息。
20.根据条款13所述计算机实现的方法,其中所述消息传递协议包括所述MQ遥测传输协议,并且其中所述远程命令服务包括根据所述MQ遥测传输协议的消息代理。
应当强调的是,可以对上述实施方案作出许多变化和修改,其中的元件将被理解为是其他可接受的示例。所有此类修改和变化既定在本文中包含在本发明的范围内且受以下权利要求书保护。

Claims (15)

1.一种利用消息传递协议来管理计算设备上的命令的执行的计算机实现的方法,其包括:
在远程命令服务处接收来自管理客户端设备的发布的第一命令消息,所述第一命令消息包括用于在根据MQ遥测传输协议订阅第一主题的远程设备上执行的可执行代码;
由所述远程命令服务认证所述第一命令消息;
基于所述第一命令消息向所述远程设备发布关于所述第一主题的第二命令消息;
由所述远程命令服务接收来自所述设备的关于第二主题的发布的响应消息,所述响应消息指示执行所述第二命令消息的结果,其中所述管理客户端设备订阅所述第二主题;以及
由所述远程命令服务向所述管理客户端发布关于所述第二主题的所述响应消息。
2.根据权利要求1所述的计算机实现的方法,其中基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的内容中的至少一项来执行对所述第一命令消息的认证。
3.根据权利要求1所述的计算机实现的方法,其中所述第二命令消息包括所述第一命令消息的所述可执行代码。
4.根据权利要求1所述的计算机实现的方法,其还包括:
在所述远程设备的虚拟副本上执行所述可执行代码;以及
至少部分地基于所述远程设备的状态和所述远程设备的所述虚拟副本的状态来计算差异,
使所述计算的差异传输到所述远程设备,其中所述远程设备用所述传输的所计算的差异进行更新。
5.一种利用消息协议来管理命令的执行的系统,其包括:
管理客户端设备,所述管理客户端设备被配置为根据消息传递协议发布关于第一主题的命令消息,所述消息传递协议定义一个或多个设备订阅根据所述第一主题发布的命令消息的机会;
一个或多个设备,所述一个或多个设备被配置为接收和发布根据所述消息传递协议形成的消息;以及
与所述管理客户端设备和所述一个或多个设备通信的远程命令服务,所述远程命令服务被配置为接收和发布,
其中所述远程命令服务被配置为:
接收来自所述管理客户端设备的与所述第一主题相对应的第一命令消息,所述第一命令消息包括用于在所述一个或多个设备上执行的可执行代码;
基于与所述第一主题相关联的订阅信息,向所述一个或多个设备发布第二命令消息;
接收来自所述一个或多个设备的发布的响应消息,所述响应消息对应于关于与所述第二命令消息相关联的代码的执行的指示;以及
向所述管理客户端设备发布关于第二主题的所述响应消息。
6.根据权利要求5所述的系统,其中所述远程命令服务还被配置为基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的内容中的至少一项来认证所述第一命令消息。
7.根据权利要求6所述的系统,其中所述远程命令服务被配置为在将所述第二命令消息发布到所述一个或多个设备之前认证所述第一命令消息。
8.根据权利要求5所述的系统,其还包括所述一个或多个设备的虚拟副本,并且其中所述远程命令服务还被配置为在所述一个或多个设备的所述虚拟副本上执行所述可执行代码。
9.根据权利要求8所述的系统,其中所述远程命令服务还被配置为在于所述虚拟副本上执行所述可执行代码之后计算差异,所述差异至少部分地基于所述一个或多个设备的状态和所述虚拟副本的状态来计算。
10.根据权利要求9所述的系统,其中将所述第二命令消息发布到所述一个或多个设备包括基于所述计算的差异来对所述一个或多个设备和所述虚拟副本进行差分同步。
11.根据权利要求5所述的系统,其中所述第二命令消息包括所述第一命令消息中包括的可执行代码的至少一部分。
12.根据权利要求5所述的系统,其中所述消息传递协议包括MQ遥测传输协议,并且其中所述远程命令服务包括根据所述MQ遥测传输协议的消息代理。
13.一种利用消息协议来管理命令的执行的计算机实现的方法,其包括:
在被配置为根据消息传递协议接收和发布消息的远程命令服务处,接收来自管理客户端设备的与第一主题相对应的发布的第一命令消息,所述第一命令消息包括用于在一个或多个远程设备上执行的可执行代码;
基于所述第一命令消息和与所述第一主题相关联的订阅信息,向所述一个或多个远程设备发布第二命令消息;
接收来自所述一个或多个设备的发布的响应消息,所述响应消息对应于关于与所述第二命令消息相关联的代码的执行的指示;以及
向所述管理客户端设备发布关于第二主题的所述响应消息。
14.根据权利要求13所述的计算机实现的方法,其还包括基于与所述管理客户端设备的身份相关联的信息、与所述远程设备的身份相关联的信息以及所述可执行代码的内容中的至少一项来认证所述第一命令消息。
15.根据权利要求13所述的计算机实现的方法,其中所述消息传递协议包括MQ遥测传输协议,并且其中所述远程命令服务包括根据所述MQ遥测传输协议的消息代理。
CN201780052097.2A 2016-08-26 2017-08-25 执行远程命令 Active CN109690491B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/249,213 US10171630B2 (en) 2016-08-26 2016-08-26 Executing remote commands
US15/249,213 2016-08-26
PCT/US2017/048710 WO2018039617A1 (en) 2016-08-26 2017-08-25 Executing remote commands

Publications (2)

Publication Number Publication Date
CN109690491A true CN109690491A (zh) 2019-04-26
CN109690491B CN109690491B (zh) 2024-03-01

Family

ID=59791194

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780052097.2A Active CN109690491B (zh) 2016-08-26 2017-08-25 执行远程命令

Country Status (5)

Country Link
US (2) US10171630B2 (zh)
EP (2) EP4254189A3 (zh)
CN (1) CN109690491B (zh)
AU (1) AU2017314838B2 (zh)
WO (1) WO2018039617A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10171630B2 (en) 2016-08-26 2019-01-01 Amazon Technologies, Inc. Executing remote commands
US10528293B2 (en) * 2017-06-26 2020-01-07 International Business Machines Corporation Grouping devices as a virtual device for providing better quality of device data
US10607012B2 (en) * 2017-12-29 2020-03-31 Delphian Systems, LLC Bridge computing device control in local networks of interconnected devices
CN110417795A (zh) * 2019-08-05 2019-11-05 中国工商银行股份有限公司 收款信息订阅方法、装置及收款系统
US11709698B2 (en) 2019-11-04 2023-07-25 Vmware, Inc. Multi-site virtual infrastructure orchestration of network service in hybrid cloud environments
US11640315B2 (en) * 2019-11-04 2023-05-02 Vmware, Inc. Multi-site virtual infrastructure orchestration of network service in hybrid cloud environments
CN112104620A (zh) * 2020-08-30 2020-12-18 浪潮金融信息技术有限公司 一种基于mqtt协议的远程指令发布方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
US20100205427A1 (en) * 2009-02-12 2010-08-12 International Business Machines Corporation Introducing encryption, authentication, and authorization into a publication and subscription engine
US20100279675A1 (en) * 2009-05-01 2010-11-04 Apple Inc. Remotely Locating and Commanding a Mobile Device
CN102447723A (zh) * 2010-10-12 2012-05-09 运软网络科技(上海)有限公司 客户端虚拟化架构
CN102804144A (zh) * 2009-05-01 2012-11-28 苹果公司 远程地定位和命令移动设备
US20140310709A1 (en) * 2013-04-15 2014-10-16 Seven Networks, Inc. Temporary or partial offloading of mobile application functions to a cloud-based environment
US20150281374A1 (en) * 2014-03-31 2015-10-01 Ford Global Technologies, Llc Remote vehicle connection status
US20150312177A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Messaging based signaling for communications sessions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
GB0426846D0 (en) * 2004-12-08 2005-01-12 Ibm Method and system for administration of a broker-based publish/subscribe messaging system
US7706895B2 (en) * 2005-02-25 2010-04-27 Rockwell Automation Technologies, Inc. Reliable messaging instruction
WO2007068147A1 (en) * 2005-12-17 2007-06-21 Intel Corporation Installing and executing shared applications in shared folders
US7487383B2 (en) * 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US7865473B2 (en) * 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set
US8438216B2 (en) 2009-05-20 2013-05-07 Kaseya International Limited Remote management of virtual machines hosted in a private network
US8868744B2 (en) * 2010-11-24 2014-10-21 International Business Machines Corporation Transactional messaging support in connected messaging networks
US9372739B2 (en) 2011-04-20 2016-06-21 International Business Machines Corporation Monitoring of subscriber message processing in a publish/subscribe messaging environment
US8972334B2 (en) * 2012-12-21 2015-03-03 International Business Machines Corporation Transparent data service suitable for modifying data storage capabilities in applications
US9942209B2 (en) * 2015-04-27 2018-04-10 Intel Corporation Technologies for secure extensible inter-device I/O redirection across a network
US20190122457A1 (en) * 2016-04-01 2019-04-25 Apostolos Nikolaidis Method and system to deliver telematics solutions
US10171630B2 (en) 2016-08-26 2019-01-01 Amazon Technologies, Inc. Executing remote commands

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350758A (en) * 1999-06-04 2000-12-06 Ibm Message broker providing a publish/subscribe sevice and method of processing messages in a publish/subscribe environment
US20100205427A1 (en) * 2009-02-12 2010-08-12 International Business Machines Corporation Introducing encryption, authentication, and authorization into a publication and subscription engine
US20100279675A1 (en) * 2009-05-01 2010-11-04 Apple Inc. Remotely Locating and Commanding a Mobile Device
CN102804144A (zh) * 2009-05-01 2012-11-28 苹果公司 远程地定位和命令移动设备
CN102447723A (zh) * 2010-10-12 2012-05-09 运软网络科技(上海)有限公司 客户端虚拟化架构
US20140310709A1 (en) * 2013-04-15 2014-10-16 Seven Networks, Inc. Temporary or partial offloading of mobile application functions to a cloud-based environment
US20150281374A1 (en) * 2014-03-31 2015-10-01 Ford Global Technologies, Llc Remote vehicle connection status
US20150312177A1 (en) * 2014-04-25 2015-10-29 International Business Machines Corporation Messaging based signaling for communications sessions

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AMAZON WEB SERVICES: "《AWS IoT Core Developer Guide》", 31 December 2015, HTTP://DOCS.AWS.AMAZON.COM:80/IOT/LATEST/DEVELOPERGUIDE/IOT-DG.PDF *
AMAZON WEB SERVICES: "AWS IoT Core Developer Guide", HTTP://DOCS.AWS.AMAZON.COM:80/IOT/LATEST/DEVELOPERGUIDE/IOT-DG.PDF, pages 1 - 11 *

Also Published As

Publication number Publication date
AU2017314838A1 (en) 2019-04-11
EP4254189A2 (en) 2023-10-04
US11323546B2 (en) 2022-05-03
EP3504622A1 (en) 2019-07-03
EP4254189A3 (en) 2023-11-15
AU2017314838B2 (en) 2020-03-12
US20180063289A1 (en) 2018-03-01
CN109690491B (zh) 2024-03-01
US10171630B2 (en) 2019-01-01
WO2018039617A1 (en) 2018-03-01
US20190132423A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
CN109690491A (zh) 执行远程命令
EP3655847B1 (en) Method, apparatus and computer program product for generating externally shared communication channels
CN105900396B (zh) 移动云服务体系架构
CN111580820B (zh) 一种小程序生成方法和装置
CN106357699B (zh) 网络系统、服务平台、服务平台登录方法及系统
CN103095852A (zh) 基于二维码的云存储文件共享方法
CN101316424A (zh) 一种信息传输方法、系统及装置
CN112399130B (zh) 云视频会议信息的处理方法、装置、存储介质和通信设备
CN107211049A (zh) 无线接入点上的预缓存
US11349709B2 (en) System and method for onboarding IOT devices
US10678906B1 (en) Multi-service and multi-protocol credential provider
CN103581143A (zh) 一种用户权限认证方法、系统、客户端及服务端
CN104299135A (zh) 一种在线支付系统与方法
CN102932453A (zh) 一种基于云计算的数据中心安全体系实现方法
CN103546369B (zh) 一种协作方法、服务器、客户端与系统
CA3143855A1 (en) Systems and methods for federated learning on blockchain
CN112954050A (zh) 分布式管理方法及装置、管理设备和计算机存储介质
CN111866092A (zh) 消息传输的方法、装置、电子设备和可读存储介质
US11477296B2 (en) Dynamic user group management in group-based communication systems
CN102158429A (zh) 一种基于社区平台的群组通讯方法及系统
US10574618B1 (en) Processing client devices
Tang et al. Design of Information System Architecture of Garment Enterprises Based on Microservices
CN114268435B (zh) 云密码服务通信方法、装置、电子设备及存储介质
WO2017159067A1 (ja) 情報処理装置およびエージェントシステム
CN110019415A (zh) 基于移动终端的云计算大数据挖掘系统

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