CN110024356B - 用于卸载计算服务的装置、系统、方法 - Google Patents
用于卸载计算服务的装置、系统、方法 Download PDFInfo
- Publication number
- CN110024356B CN110024356B CN201780066222.5A CN201780066222A CN110024356B CN 110024356 B CN110024356 B CN 110024356B CN 201780066222 A CN201780066222 A CN 201780066222A CN 110024356 B CN110024356 B CN 110024356B
- Authority
- CN
- China
- Prior art keywords
- offload
- service
- services
- client device
- candidate
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/104—Grouping of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及用于卸载计算服务的装置、系统、方法。具体地,通过在发现卸载模块内执行至少以下操作来动态地识别和利用机会装置:接收来自服务装置的卸载警报消息,其中,卸载警报消息表示服务装置不能将一个或更多个服务提供给客户端装置;接收来自候选装置的发现消息,其中,发现消息表示候选装置能够执行提供给客户端装置的服务;使用专用执行环境基于来自候选装置的发现消息选择机会服务装置;以及通过从机会服务装置获得一个或更多个服务来触发客户端装置内的主机执行指令的重启,其中,发现卸载模块独立于客户端装置内的主机执行指令工作。
Description
技术领域
本文所描述的实施例大体上涉及实施弹性网络系统,该弹性网络系统动态地识别备份节点以处理服务请求,并且具体地是用于在服务装置在基于物联网(IoT)的网络内发生故障时识别和利用一个或更多个机会装置(opportunistic device)。
背景技术
现代数据和计算机网络包括适用于收集、交换和处理数据信息的各种装置。这些数据和计算机网络中的一些通常可以被称为IoT网络,该IoT网络各包括作为基于电子的装置而操作的多个物理对象。具体地,各个物理对象都包括被配置为收集、交换和处理数据信息的电子组件。为了通过IoT网络收集、交换和处理数据信息,电子组件通常包括嵌入式计算硬件和软件组件,诸如,微控制器、控制计算模块、网络连接、固件和/或传感器。电子组件还可以将物理对象中的各个物理对象与唯一标识符(例如,互联网协议(IP)地址)关联,使得物理对象能够与其它装置通信。基于数据信息,物理对象可以在没有直接的人机交互(例如,执行车辆的自动驾驶功能)的情况下自动计算、响应和/或执行任务。可以在IoT网络内进行通信的物理对象的示例包括但不限于移动装置、可穿戴装置、自动化装置和/或控制和感觉系统。
IoT网络通常由按复杂程度分类的移动和固定装置的混合组成。例如,IoT网络可以包括:具有有限的计算资源的相对有限的装置(例如,可穿戴装置);和用于实施有限数量的控制操作的有限数量的传感器。另外,IoT网络可以包括:具有能够实施很多控制操作的一系列传感器的相对更复杂的装置(例如,无人驾驶车)。在一些情况下,出于各种原因,诸如,操作成本、计算资源的缺乏和/或较低的预计故障率,IoT网络的网络管理员尚未预先配置或者指定备份服务装置。根据IoT网络的应用,服务装置发生故障并且随后不能识别备份和/或冗余服务装置不仅可能对本地装置的终端用户造成伤害,而且可能对靠近终端用户的旁观者造成伤害。例如,IoT网络可以利用定位信标装置来使一个或更多个本地装置,诸如,携带有毒物质(例如,杀虫剂和除草剂)的无人机、无人驾驶车和/或运输车的位置成三角形。定位信标装置发生故障并且随后不能定位和利用备份服务装置以提供位置信息,可能导致终端用户和/或旁观者的事故和/或其它不利事件。同样,改进识别和利用机会装置以处理网络内的服务请求的技术可能有利于创建更弹性且可靠的网络。
发明内容
根据本公开的一方面,提供了一种存储装置或存储盘,其包括指令,所述指令在被执行时使具有专用执行环境的客户端装置至少进行如下操作:响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
根据本公开的另一方面,提供了一种用于卸载计算服务的客户端装置,所述客户端装置包括:存储器;以及处理器,所述处理器至少进行如下处理:响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对述客户端装置的所述一个或更多个服务;触发停止与所述卸载警报消息中表示的所述一个或更多个服务关联的主机执行指令;以及通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述处理器所运行的专用执行环境独立地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
根据本公开的另一方面,提供了一种用于卸载计算服务的方法,所述方法包括如下步骤:响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及通过从所述机会服务装置获得所述一个或更多个服务,在专用执行环境中执行指令来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
根据本公开的另一方面,提供了一种用于卸载计算服务的服务装置,所述服务装置包括:存储器;以及处理器,所述处理器至少进行如下操作:检测与提供给一个或更多个客户端装置的服务操作对应的一个或更多个卸载条件的出现;获得与对应的服务操作有关的服务和上下文信息;基于所述服务和上下文信息来构建卸载警报消息,所述卸载警报消息表示所述服务装置不能执行所述服务操作;以及将所述卸载警报消息通知给所述一个或更多个客户端装置和一个或更多个候选装置,以确定所述一个或更多个候选装置是否能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务,所述处理器在专用执行环境中与提供所述服务操作的主机执行指令独立地工作,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
根据本公开的另一方面,提供了一种存储装置或存储盘,其包括指令,所述指令在被执行时使具有专用执行环境的客户端装置至少进行如下处理:响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:触发自诊断模式,以确定在所述客户端装置处是否发生了故障,并且基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及通过从所述机会服务装置获得所述一个或更多个服务,来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行。
根据本公开的另一方面,提供了一种用于卸载计算服务的方法,所述方法包括如下步骤:响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:触发自诊断模式以确定在所述客户端装置处是否发生了故障,并且基于来自候选装置的发现消息选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及通过从所述机会服务装置获得所述一个或更多个服务,在专用执行环境中执行指令来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行。
根据本公开的另一方面,提供了一种用于卸载计算服务的系统,所述系统包括:检测装置,其检测与提供给一个或更多个客户端装置的服务操作对应的一个或更多个卸载条件的出现;获取装置,其获得与对应的服务操作有关的服务和上下文信息;构建装置,其基于所述服务和上下文信息构建卸载警报消息,所述卸载警报消息表示所述服务装置不能执行所述服务操作;以及通知装置,其将所述卸载警报消息通知给所述一个或更多个客户端装置和一个或更多个候选装置,以确定所述一个或更多个候选装置是否能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务。
根据本公开的另一方面,提供了一种用于卸载计算服务的系统,所述系统包括:选择装置,其响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;触发停止装置,其触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及触发重启装置,其通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
附图说明
为了更全面地理解本公开,现在参考以下结合附图和详细描述进行的简要描述,其中,相同的元件符号表示相同的部分。
图1是本公开的实施例可以操作的网络基础设施的实施例的示意图。
图2是被配置为动态的识别一个或更多个机会服务装置的计算系统的实施例的示意图。
图3是用于实施发现卸载模块的计算系统架构的实施例的示意图。
图4是在卸载条件出现时动态地通知一个或更多个候选装置和客户端装置的方法的实施例的流程图。
图5是动态地识别和利用能够且可用于代替当前服务装置的候选装置的方法的实施例的流程图。
图6是动态地识别和利用机会服务装置的方法的实施例的流程图。
图7是图示了与本文所描述的技术一起使用的计算装置的实施例的框图。
图8是图示了与本文所描述的技术一起使用的计算装置的另一实施例的框图。
具体实施方式
在以下描述中,为了阐释的目的,提出许多具体细节以提供本发明的透彻理解。然而,对于本领域的技术人员而言,可以在没有这些具体细节的情况下实践本发明是显而易见的。在其它情况下,结构和装置可以框图的形式被示出,以免模糊本发明。对没有下标或者后缀的数字的引用被理解为,引用于参考数字对应的下标和后缀的所有实例。而且,本公开中使用的语言主要是出于可读性和指导性的目的而被选择的,并且尚未被选择来描绘或者限制本文所描述的实施例中的创新主题,要确定这个创新主题,借助权利要求书是必要的。本说明书中对“一个实施例”或者“实施例”的引用意谓结合实施例描述的特定特征、结构或者特性被包括在本发明的至少一个实施例中,并且对“一个实施例”或者“实施例”的多次引用不应当被理解为必然都涉及同一实施例。
如本文所使用的,术语“计算装置”可以指:包括但不限于移动装置、计算机、虚拟机(VM)、容器、租户、服务器和/或网络装置的单个计算装置,或者一起工作以执行被认为是对计算系统或者由计算系统执行的功能的多个计算装置。
如本文所使用的,术语“介质”指一个或更多个非暂时性物理介质,其一起存储被描述为在该物理介质存储上的内容。其实施例可以包括非易失性二级存储器、只读存储器(ROM)和/或随机存取存储器(RAM)。
如本文所使用的,术语“装置”指包括被配置为接收、发送和/或处理数据信息的电子组件的物理对象。在一个实施例中,电子组件中的一个或更多个电子组件可以嵌入物理对象内,诸如,在可穿戴装置和移动装置(例如,无人驾驶车)中。在一个实施例,装置还可以包括致动器、发动机、控制功能、传感器和/或用于在没有人工干预的情况下进行一个或更多个任务的其它组件,诸如,无人机、无人驾驶车和/或自动运输车。
如本文所使用的,术语“可穿戴装置”指,由用户穿戴并且包括被配置为通过一个或更多个通信环境(例如,计算机网络)和/或一个或更多个连接链接(例如,通用串行总线(USB)接口)发送和/或接收数据的电子组件的物理对象。可穿戴装置的示例实施例包括但不限于,追踪用户活动的智能腕表、智能手表、智能眼镜和可穿戴医疗装置。除非另有说明,否则术语“可穿戴装置”可以与术语“可穿戴技术”、“可穿戴装置”和/或“可穿戴设备”互换,并且被认为贯穿本公开与术语“可穿戴技术”、“可穿戴装置”和/或“可穿戴设备”同义。
如本文所使用的,术语“执行指令”指,与执行计算相关任务相关的计算程序、进程、桩程序(stub)、代码、工作负载、线程和/或任何其它类型的计算指令。执行指令的示例实施例包括软件模块、软件对象、固件(例如,基本输入/输出系统(BIOS))和/或其它类型的可执行代码。
如本文所使用的,术语“机会服务装置”指,能够且在一些情况下可用于提供当前服务装置提供给一个或更多个客户端装置的、一个或更多个服务的备份和/或冗余装置。
如本文所使用的,术语“计算事件”指,从与硬件、固件和/或软件关联的一个或更多个计算策略触发的任何事件或者事故。计算事件的示例实施例包括硬件级事件(例如,分支误预测)和操作系统级事件(例如,中断)。
本公开包括动态地识别和利用机会服务装置的各个示例实施例。网络内的服务装置,诸如,服务器,可以包括被实施在专用执行环境内的发现卸载模块(discoveryoffloading module),该专用执行环境将一个或更多个执行指令与其它基于主机的执行指令分开和隔离。发现卸载模块可以监控服务装置的计算进程,并且确定诸如故障、负载平衡和/或漫游条件等卸载条件是否发生在服务装置尝试将服务提供给一个或更多个客户端装置时。当发现卸载模块检测卸载条件出现时,发现卸载模块可以获得与服务操作关联的信息和关联的上下文信息。之后,发现卸载模块可以将卸载警报消息发送至一个或更多个候选装置和客户端装置。候选装置可以使用其自己的发现卸载模块,通过专用网络信道接收卸载警报消息。基于卸载警报消息内的信息,各个候选装置可以确定其是否可用于和能够充当一个或更多个客户端装置的机会服务装置。如此,客户端装置能够最小化重复发现机会服务装置的过程,并且还降低候选装置处的资源竞争可能性。
图1是本公开的实施例在其中可以操作的网络基础设施100的实施例的示意图。网络基础设施100包括多个计算机网络102。计算机网络102中的各个计算机网络可以包含多个IoT装置,该IoT装置包括电子组件(例如,微控制器、嵌入式系统、工业控制计算模块等)。具体地,计算机网络102包括现今可利用的一种或多种不同类型的计算机网络,诸如,互联网、企业网络、数据中心、广域网(WAN)和/或局域网(LAN)。计算机网络102内的这些网络中的各个网络可以包含:在电气和/或光学领域中操作而且还采用任何数量的网络通信协议(例如,TCP/IP)的有线和/或无线可编程装置。例如,计算机网络102内的网络中的一个或更多个网络可以是无线保真网络、网络、网络和/或任何其它合适的基于无线电的网络,如本领域的普通技术人员在查看本公开时所理解的。
计算机网络102内的网络还可以包括交换机、路由器和/或被配置为通过计算机网络102传输数据的其它网络硬件装置。而且,计算机网络102内的一个或更多个网络可以被配置为实施计算机虚拟化,诸如,虚拟专用网络(VPN)和/或基于云的网络。图1图示了计算机网络102可以连接至计算机106、计算机服务器104和一个或更多个网络节点108,该网络节点108包括但不限于网关、路由器和/或无线接入点。计算机106和/或计算机服务器104可以分别包括多个VM、容器和/或用于处理计算指令和通过计算机网络102发送和/或接收数据的其它类型的虚拟化计算系统。计算机106和/或计算机服务器104可以被配置为支持多租户架构,其中,各个租户可以实施其自己的安全且隔离的虚拟网络环境。虽然在图1中未示出,但是网络基础设施100可以将计算机网络102连接至各种其它类型的计算装置,诸如,VM、容器、主机、存储装置、可穿戴装置、移动装置(例如,无人驾驶车)和/或被配置为通过计算机网络102发送和/或接收数据的任何其它装置。网络节点108的功能可以用任何装置或者图1所示的装置的组合来实施;然而,最常见的是,用网关或者路由器中的防火墙或者入侵系统来实施。
如图1所示,网络基础设施100还可以包括与移动通信装置一起使用的蜂窝网络103。蜂窝网络103能够支持各种装置,这些装置包括但不限于计算机、膝上型计算机和/或各种移动装置(例如,移动电话、无人驾驶车、船和无人机)。使用图1作为示例,网络基础设施100中可以经由蜂窝网络103进行通信的装置被图示为移动电话110、膝上型计算机112和平板计算机114。诸如移动电话110等移动装置可以在移动装置移动时与一个或更多个移动提供商网络交互,通常与用于连接至蜂窝网络103的多个移动网络塔120、130和140交互。虽然在图1中被称为蜂窝网络103,但移动装置可以与一个以上的提供商网络的塔并且与诸如网络节点108等多个非蜂窝装置交互。另外,移动装置110、112和114可以与诸如计算机104和计算机服务器106等非移动装置交互以进行所需的服务。
在一个或更多个实施例中,一个或更多个移动装置(例如,移动电话110、膝上型计算机112和平板计算机114)、计算机服务器104、计算机106和/或其它装置,可以通过采用诸如可信执行环境(TEE:trusted execution environment)等专用执行环境来支持可信操作。网络基础设施100中支持可信操作的移动电话110、膝上型计算机112、平板计算机114、计算机服务器104、计算机106和/或其它装置贯穿本公开可以被称为可信网络装置。可信网络可以使用可信发现来动态形成,该可信发现允许可信网络装置发现包括可信实体的其它可信网络装置或者可信网络节点。例如,TEE可以使用Software Guard Extensions(SGX)、Converged Security Engine(CSE)、Virtualization Technology、Advanced RISC Machines 硬件安全模块和/或ManageabilityEngine(ME)来实施。为了本公开的目的,可信网络可以通过允许可信装置上的服务保持对不是可信网络的部分的网络装置不透明的任何方式来形成。尽管不可信发现可以揭示特定节点或者网络装置是否可以支持可信发现,但是可信发现对于揭示可信装置当中的附加可信能力和服务可能是必要的。仅仅可以由可先发现揭示的协议的一些示例包括:证明(attestation)、密钥协商、群组形成、可信代理和配置。
使用图1作为示例,一个或更多个移动装置(例如,移动电话110、膝上型计算机112和平板计算机114)、计算机服务器104和/或计算机106可以包括:用于动态地发现机会服务装置,以处理计算网络102和/或蜂窝网络103内的服务请求的发现卸载模块。移动装置和/或计算机106中的一个或更多个可以充当客户端装置,其中,各个客户端装置可以与当前服务装置(诸如,计算机服务器104)建立至少一个连接(例如,有线和/或无线连接)。当前服务装置可以对客户端装置中的各个客户端装置执行一个或更多个服务。计算网络102和/或蜂窝网络103还可以包括能够执行服务中的一个或更多个服务的候选装置(例如,另一计算机服务器104、移动电话110、膝上型计算机112、平板计算机114和/或计算机106)。计算网络102和/或蜂窝网络103内的候选装置可以包括客户端装置和/或当前未被当前服务装置服务的非客户端装置。
当前服务装置、客户端装置和/或候选装置中的各个装置可以包括发现卸载模块,其通知、监控和/或响应诸如故障、负载平衡和/或路由条件等卸载条件。例如,当前服务装置可能遇到防止和/或削弱其处理从一个或更多个客户端装置(例如,移动电话110、膝上型计算机112、平板计算机114和/或计算机106)接收到的服务请求的能力的卸载条件。当当前服务装置检测到卸载条件时,当前服务装置通过商定的通信信道(例如,和/或),将卸载警报消息通知(例如,广播或者多播)给客户端装置和/或候选装置。在一些情况下,如果一个或更多个客户端装置和/或候选装置不能与当前服务装置进行通信,则可以实施菊花链通信信道。卸载警报消息可以包括表示当前服务装置对客户端装置执行的服务操作(例如,温度和/或位置服务)的数据信息和与服务操作、当前服务装置和/或客户端装置有关的相关上下文信息。卸载警报消息的上下文信息的示例可以包括但不限于:卸载警报消息的紧迫性、提供服务所需的容量和/或负载和/或服务可以占用计算资源的时长。在卸载警报消息内提供上下文信息可以最小化客户端装置可能需要搜索机会服务装置的频率。同时,候选装置和/或客户端装置中的发现卸载模块可以连续监控从当前服务装置的发现卸载模型发送的卸载警报消息。
客户端装置(例如,移动电话110、膝上型计算机112、平板计算机114和/或计算机106)随后可以在接收到通知的卸载警报消息之后,执行一个或更多个卸载动作。在一个实施例中,客户端装置中的一个或更多个客户端装置可以确定卸载警报消息是否对客户端装置与当前服务装置的连接产生影响。如果卸载警报消息对客户端装置与当前服务装置的连接有影响,则客户端装置可以停止与当前服务装置提供的服务对应的计算操作。例如,客户端装置可以响应于接收到卸载警报消息,使用网络等待状态而受阻。因此或者可替代地,卸载警报消息可以触发客户端装置中的一个或更多个客户端装置进入自诊断模式,为了确定卸载条件的原因是否源于它自己的目的。自诊断模式可以确定客户端装置是否具有一个或更多个故障组件,和/或客户端装置是否已经漫游到当前服务装置的范围之外。
候选装置(例如,计算机服务器104、移动电话110、膝上型计算机112、平板计算机114和/或计算机106)也可以接收通知的卸载警报消息并且执行一个或更多个卸载动作。候选装置首先可以解析卸载警报消息,并且评估服务和上下文信息以确定候选装置是否能够和/或有能力支持连接的装置中的一个或更多个装置的服务。例如,当前服务装置可以执行以下服务:使位置信息成三角形,从温度传感器提供温度信息,和将大气压力数据呈现给客户端装置。候选装置可以从卸载警报消息确定候选装置是否能够和可用于执行一个或更多个客户端装置的服务。如果候选装置确定其不能和/或不可用于执行服务,则候选装置返回监控模式以检测附加卸载警报消息。如果候选装置确定其有能力和/或可用于执行服务,则候选装置可以发送将其可用于处理服务请求通知给客户端装置中的一个或更多个客户端装置的发现消息公告。
客户端装置中的一个或更多个客户端装置可以接收来自一个或更多个候选装置的发现消息公告。在接收到发现消息之后,客户端装置中的各个客户端装置可以选择候选装置中发送发现消息公告的候选装置作为机会服务装置。在一个实施例中,客户端装置可以选择相同的候选装置作为机会服务装置。其它实施例可以产生客户端装置选择不同的机会服务装置的结果。客户端装置中的各个客户端装置可以使用一种或多种众所周知的方法来选择机会服务装置。选择方法的示例包括但不限于:基于第一个接收到的发现消息公告、具有最有效的处理资源的候选装置、与最强无线信号强度关联的候选装置和/或一个或更多个网络条件(例如,延迟和/或带宽条件)选择机会服务装置。如果客户端装置没有接收到发现消息公告,则客户端装置可以继续在监控模式下操作以检测发现消息公告,直到当前服务装置恢复操作并且/或者客户端装置发现合适的机会服务装置为止。
图2是被配置为动态地识别一个或更多个机会服务装置的计算系统200的实施例的示意图。图2图示了计算系统200包括客户端装置202、当前服务装置204和多个候选装置206A和206B。使用图1作为示例,客户端装置202可以使用移动电话110、膝上型计算机112、平板计算机114和/或计算机106来实施。当前服务装置204可以是固定的计算系统(诸如,计算机服务器104和计算机106)和/或移动设备(诸如,移动电话110、膝上型计算机112和/或平板计算机114)。来自图1的候选装置206A和206B的非限制性示例可以包括:移动装置110、112和114、计算机106和/或计算机服务器104。客户端装置202、当前服务装置204、候选装置206A和206B的其它实施例可以包括:能够连接至计算机网络102、蜂窝网络103和/或其它类型的电信网络(例如,基于卫星的网络)的其它类型的移动和/或固定装置,诸如,无人驾驶车、船和/或无人机。
如图2所示,客户端装置202、当前服务装置204以及多个候选装置206A和206B包含发现卸载模块208A-D。发现卸载模块208A-D可以是包括执行指令的专用执行环境,该执行指令与其它主机执行指令分开、隔开和/或隔离。在一个实施例中,专用执行环境可以是以下的TEE,其使用独立的安全和管理引擎,诸如,Intel’s ME和/或安全飞地(enclave)来实施。实施专用执行环境的其它示例包括使用Intel’s CSE、Hidden Lake、融合安全和可管理性引擎(CSME)、系统管理模式(SMM)和基板管理控制器(BMC)。
将发现卸载模块208A-D实施为专用执行环境,通过独立于主机执行指令工作来提供附加可靠性、稳健性和安全性。与主机计算操作隔离,允许发现卸载模块相对不易受到计算故障、恶意软件威胁和/或处理吞吐量问题主机执行的指令体验的影响。换言之,当卸载条件同时发生时,在卸载条件出现之后和/或当主机计算系统(例如,当前服务装置204)彻底瘫痪时,发现卸载模块208A-D能够执行发现操作。例如,在功率损耗的情况下,当前服务装置204可能没有足够的电力通电和/或启动以执行主机执行指令。通过将发现卸载模块208B与主机执行指令隔离,当前服务装置204能够在没有通电和/或启动的情况下通知卸载警报消息。相反,当前服务装置204可以保持关机状态,并且提供足够的电力以执行发现卸载模块208B内的指令并且通知卸载警报消息。
发现卸载模块208A-D还可以被配置为,通过将发现卸载模块208A-D设置成利用安全证书对群组成员进行认证的群组来减轻拒绝服务攻击。认证群组程序防止可信群组成员攻击其它群组成员。例如,增强隐私标识符(EPID:enhanced privacy identifier)群组,或者包括与多个私钥对应的群组公钥的一些其它数字签名方案可以用于定义可信网络群组。可信网络群组的成员可以由诸如中央计算系统(图2中未示出)、网络管理员和/或当前服务装置204等责任实体审查。在发现和卸载过程期间,发现卸载模块208A-D可以交换使用EPID群组私钥数字签名的消息。每当发现卸载模块208A-D中的一个接收到来自另一发现卸载模块208A-D的消息(例如,卸载警报消息)时,接收发现卸载模块208A-D可以使用公钥来验证消息。发现卸载模块208A-D可以忽略未经身份验证的消息,这避免了拒绝服务攻击。
网络管理员可以不在承担当前服务装置204提供给客户端装置202的服务的责任的计算系统200内预先配置备份和/或冗余服务装置。相反,网络管理员可以基于卸载条件的检测,将计算系统200配置为动态地识别机会服务装置。如图2所示,发现卸载模块208B可以在步骤1中实施卸载检测循环,以监控和检测当前服务装置204处的卸载条件,诸如,故障、负载平衡和/或路由条件。在步骤1中,发现卸载模块208B可以检测一个或更多个故障条件,诸如,功率损耗、过热问题(例如,处理器过热)、紧密循环执行、电源状态变化和/或故障中断。发现卸载模块208B可以通过监控硬件级信息(例如,性能计数器)和/或处在与一个或更多个执行计算应用对应的较高计算机层次结构等级的其它计算事件,来监控故障条件。例如,各种故障条件可以发生在当前服务装置204内,该故障条件包括但不限于中央处理单元(CPU)故障、系统总线故障和/或一个或更多个传感器组件故障。在那些故障中的各个故障中,当前服务装置204可以生成计算事件,诸如,发现卸载模块208B可以检测到的故障中断。在一个实施例中,发现卸载模块208B可以连续监控CPU的性能计数器,并且/或者注册那些记录计算事件以检测故障条件。
发现卸载模块208B可以确定功率损耗和/或电力状态变化触发故障条件。发现卸载模块208B可以监控一个或更多个功率相关参数,诸如,来自电源的输入电压、来自一个或更多个内部电流传感器的电流读数和/或与电池和其它电荷存储装置关联的电力状态变化。在一个实施例中,发现卸载模块208B可以使用一个或更多个内部电流传感器通过测量和/或监控电流,来检测由短路引起的电源故障。发现卸载模块208B还可以检测电池电荷水平和/或电源电压水平并且将它们与一个或更多个基于功率的阈值进行比较。例如,如果电池电荷水平低于最小阈值水平(例如,充电不足的情况)和/或高于最大阈值(例如,过度充电的情况),则发现卸载模块208B可以确定故障条件出现。在另一实施例中,发现卸载模块208B可以监控发生在供给电压水平下降低于电源电压阈值时的电源故障条件(例如,功率损耗)。
另外或者可替代地,发现卸载模块208B还可以检测负载平衡条件。为了检测负载平衡条件,发现卸载模块208B可以监控当前服务装置204的计算资源利用和/或网络条件(例如,带宽),以确定一个或更多个服务是否可以被卸载到一个或更多个候选装置206A和206B。发现卸载模块208B可以监控与各种处理吞吐量度量(诸如,计算等待和运行时间)和/或存储器容量相关的当前服务装置204。如果一个或更多个处理吞吐量度量满足一个或更多个处理阈值,则发现卸载模块208B可以确定卸载条件出现。发现卸载模块208B还可以监控与来自客户端装置202的处理服务请求关联的网络条件,诸如,带宽和/或延迟。当一个或更多个网络条件无法满足一个或更多个网络性能阈值时,发现卸载模块208B可以确定卸载条件出现。发现卸载模块208B可以实施各种总所周知的方法来监控计算资源利用和/或网络条件。
发现卸载模块208B还可以检测到的另一卸载条件是路由条件。网络管理员可以将计算系统200配置为,适应在装置移动到计算系统200的范围之内和之外时临时加入和离开的装置。例如,当前服务装置204、客户端装置202和/或候选装置206A和206B可以是移动装置,诸如,陆用车、船、无人机和/或飞行器。作为移动装置,当前服务装置204、客户端装置202和/或候选装置206A和206B最终可以移动到超过计算系统200的范围的位置。在一个实施例中,发现卸载模块208B可以监控其自己的确切位置和/或与计算系统200和/或计算系统200内的其它装置的相对位置。发现卸载模块208B可以使用各种众所周知的方法,诸如,测量无线信号强度、确定装置与计算系统200(例如,客户端装置202)之间的丢失包的数量和/或使用来自全球定位系统(GPS)的定位信息,来确定路由条件是否发生。
在一个或更多个实施例中,当当前服务装置204看上去好像是移动到计算系统200的范围之外时,和/或如果中央计算系统决定改进关于来自客户端装置202的处理服务请求的网络弹性,则中央计算系统(图2中未示出)能够追踪计算系统200内的当前服务装置204的数量和/或位置。中央计算系统可以动态地向发现卸载模块208B发出命令以生成卸载条件。在一些情况下,中央计算系统还可以追踪客户端装置202的位置,并且基于客户端装置202的位置向发现卸载模块208B发出命令,以生成卸载条件。例如,虽然当前服务装置204和客户端装置202位于计算系统200内,但是两个装置可能相对较远,这限制或者减小了当前服务装置204处理来自当前客户端装置202的服务请求的能力(例如,高延迟)。
一旦发现卸载模块208B检测到卸载条件出现,发现卸载模块208B便可以在步骤1中构建和通知卸载警报消息。在通知卸载警报消息之前,发现卸载模块208B可以获得与当前服务装置204关联的有效载荷和/或服务相关信息以及相关的上下文信息,诸如,运动、位置、方向和/或相对位置。在一个实施例中,卸载警报消息可以包括服务信息和上下文信息,诸如,卸载警报消息的紧迫性、提供服务所需的容量、和/或负载(例如,带宽、处理能力和传感器范围)和/或服务可以占用计算资源的时长。关于客户端装置202的上下文信息还可以被包括在卸载警报消息中。例如,客户端装置202可以使用信息模型表示,诸如,对象模型定义,诸如,JavaScript Object Notation(JSON)模式、可扩展标记语言(XML)模式、YetAnother Next Generation(YANG)和表征状态转移(REST)应用程序接口(API)建模语言(RAML),来描述。在一个或更多个实施例中,客户端装置202可以处理模式以获得客户端上下文信息,并且将其与当前服务装置204和/或候选装置206A和206B共享。发现卸载模块208B然后在创建卸载警报消息时可以包括共享客户端上下文信息。
在另一实施例中,发现卸载模块208A-D可能之前已经被设置成,具有用于对群组成员进行认证的证书的群组(例如,EPID群组)。除了编码卸载警报消息内的服务相关信息和/或相关上下文信息之外,卸载警报消息还包括识别一个或更多个候选装置的字段,和/或用于从数据库和/或存储器检索服务相关信息的指针信息(例如,存储器地址索引)。例如,之前被配置成EPID群组的发现卸载模块208A-D的卸载警报消息可以包括:(1)接口定义和对象模型定义的信息模型表示,诸如,JSON模式、XML模式、YANG和RAML;(2)驻留在当前服务装置204的平台上的传感器和/或致动器组件;(3)用于连接至客户端装置202的地址、位置、协议和/或其它相关信息;(4)与众所周知的并且可以用于作为群主成员认证的EPID群组对应的群组身份;(5)在当前服务装置204上可能无法完成的操作的可选当前状态的故障原因和/或代码;和(6)当前用户列表和用于认证用户请求的证书,或者授权给候选装置206A和206B以获得迁移用户对候选装置206A和206B的服务所需的证书(例如,票证、令牌、证书)的委托证书。关于传感器和/或致动器组件的信息通常可以通过信息模型描述来提供,但是附加传感器和/或致动器信息(诸如,各个传感器和/或致动器的制造、模型、版本信息)和信息模型也可以在卸载警报消息的其它部分中找到。
在步骤2中,当前客户端装置202的发现卸载模块208A可以接收通知的卸载警报消息并且然后,发现卸载模块208A可以确定卸载警报消息是否会影响其与当前服务装置204的连接。例如,通知的卸载警报消息可以表示服务<A>(例如,提供温度数据)可能需要被移动到机会服务装置。如果客户端装置202不从当前服务装置204请求服务,则通知的卸载警报消息可能不会影响客户端装置202与当服务装置204的连接。如果通知的卸载警报消息不影响客户端装置202,发现卸载模块208A可以进行停止与服务<A>关联的计算操作。例如,客户端装置202可以响应于接收到卸载警报消息在网络等待状态下受阻。通知的卸载警报消息还可以触发发现卸载模块208A以指示客户端装置202进入自诊断模式,以便确定客户端装置202是否是卸载条件的源。例如,客户端装置202可以进入自诊断模式以确定传输源,诸如,丢包故障源于客户端装置202处的故障和/或客户端装置202是否已经漫游到当前服务装置204的范围之外。
同样,在步骤2中,分别与候选装置206A和206B对应的发现卸载模块208C和208D可以接收通知的卸载警报消息并且确定候选装置206A和206B是否能够变成机会服务装置。发现卸载模块208C和208D可以解析卸载警报消息,并且评估服务和上下文信息以确定候选装置206A和206B是否能够和/或有能力支持客户端装置202的服务。例如,当前服务装置204可以执行供应定位信标的服务,提供温度读数和/或获得客户端装置202的大气压。候选装置206A和206B可以分析卸载警报消息以确定这些服务需要被供应给客户端装置202,并且随后执行检查以确定是否能够执行服务。在步骤2中,候选装置206A和206B可以检查它们是否包括测量位置信息、温度信息和/或大气压信息的传感器。另外或者可替代地,候选装置206A和206B还可以检查是否能够从另一远程装置获得信息。如果候选装置206A和206B确定它们不能执行服务操作中的至少一个服务操作(例如,提供温度信息),则发现卸载模块208C和208D可以确定候选装置206A和206B不能变成机会服务装置和返回监控模式。
在一个或更多个实施例中,如果发现卸载模块208C和208D确定候选装置206A和206B能够提供服务,则发现卸载模块208C和208D还可以检查候选装置206A和206B的可用性。为了确定可用性,发现卸载模块208C和208D可以确定是否有足够的计算资源(例如,存储器空间和处理吞吐量)可用于处理来自客户端装置202的服务请求。如果发现卸载模块208C和208D确定候选装置206A和206B不可用于执行服务操作的至少一个服务操作(例如,提供温度信息),则候选装置206A和206B返回监控模式,以监控其它卸载警报消息。如果候选装置206A和206B确定它们都能够和/或可用于执行服务,则候选装置206A和206B中的各个候选装置可以通知其自己的发现消息,该发现消息表示候选装置可用于处理客户端装置202的服务请求。使发现卸载模块208C和208D检查候选装置206A和206B的处理可用性,可以最小化重复地发现替代服务装置的需要,并且降低候选装置206A和206B处的资源竞争可能性。
图2中的步骤3包含客户端装置202的发现卸载模块208A接收来自一个或更多个候选装置206A和206B的发现消息公告。使用图2作为示例,发现卸载模块208A可以分别接收来自候选装置206A和206B中的一个候选装置或者来自两个候选装置206A和206B的发现卸载模块208C和208D的发现消息公告。发现消息公告可以包括表示候选装置206A和206B的标识符(例如,IP地址)。在客户端装置202接收到来自一个以上的候选装置206A和206B的发现消息公告的情况下,发现卸载模块208A可以使用各种众所周知的方法,诸如,基于第一个接收到的发现消息公告来选择机会服务装置、循环选择操作和/或基于标识符信息,来选择候选装置206A和206B中的一个候选装置作为机会服务装置。例如,发现卸载模块208A可以选择具有较低IP地址的候选装置206A和206B。可替代地,发现卸载模块208A可以选择具有较高IP地址的候选装置206A和206B。如果发现卸载模块208A没有收到发现消息公告,则发现卸载模块208A可以继续监控发现消息公告,直到当前服务操作恢复操作并且/或者发现卸载模块208A找到合适的候选装置206A和206B为止。
另外或者可替代地,发现卸载模块208A可以尝试通过使用发现消息公告内的上下文信息进一步最小化发现机会电子服务装置的频率。具体地,发现消息公告可以包括与通知候选装置206A和206B关联的上下文信息,诸如,位置信息、网络条件、信号强度和/或计算资源可用性。发现卸载模块208A可以基于发现消息公告内的信息,选择候选装置206A和206B中的一个候选装置作为机会服务装置。在一个实施例中,发现卸载模块208A可以使用上下文信息为对候选装置206A和206B的选择排序和/或排出优先级。例如,发现卸载模块208A可以使用位置信息,为更接近客户端装置202的哪些(个)候选装置206A和206B排序和/或排出优先级。在另一实施例中,发现卸载模块208A可以执行将加权值分配给不同的上下文参数,以选择候选装置206A和206B中的一个候选装置作为机会服务装置的加权平均。
图2的步骤4和5涉及客户端装置202重启其与之前由当前服务装置204提供的服务相关的任务,并且与机会服务装置建立连接。在步骤4中,一旦客户端装置202的发现卸载模块208A选择机会服务装置,发现卸载模块208A便可以触发客户端装置202重启利用之前由当前服务装置204提供的服务的任务的主机执行指令。在一个实施例中,客户端装置202的任务模型可以维护识别一致的位置,以恢复利用服务的计算操作的执行检查点重启日志。在另一实施例中,客户端装置202可以具有其处于RESTful状态的工作负载环境,建议一旦发现卸载模块208A触发重启,工作负载便立即变得一致。在步骤5中,客户端装置202打开与机会服务装置的连接以获得服务。
图3是用于实施发现卸载模块的计算系统架构300的实施例的示意图。使用图1作为示例,计算系统架构300可以在一个或更多个移动电话110、膝上型计算机112、平板计算机114、计算机服务器104、计算机106和/或能够连接至计算机网络102和/或蜂窝网络103的其它装置内找到。使用图2作为示例,计算系统架构300可以被实施在当前客户端装置202、当前服务装置204和/或多个候选装置206A和206B内。如图3所示,计算系统架构300包括VM0-N 302,其中,客户操作系统(OS)可以安装在VM 302中的各个VM中,并且被分配客户存储器地址304。客户存储器地址304可以是客户OS呈现给在客户OS上运行的计算应用的虚拟地址空间。在一个实施例中,客户OS可以是除了计算系统架构300的主机或者主要OS之外被安装的OS。VM 302中的各个VM似乎都有自己的执行计算指令的处理器、存储器、驱动器和/或其它计算资源。
计算系统架构300还可以包括管理程序(hypervisor)306、处理包314和物理存储器312。管理程序306可以被配置为在计算系统架构300上创建、运行和管理一个或更多个VM302。管理程序306可以将处理器、存储器和其它计算资源分配给VM302中的各个VM,并且防止VM 302彼此干扰。处理包314可以包括被配置为执行一个或更多个主机执行指令和/或与执行主机计算相关任务(诸如,利用来自由当前服务装置204执行的服务的数据的主机任务)相关的其它操作。物理存储器312表示主机用于存储指令、代码、程序和/或数据信息(诸如,主机执行指令)的物理存储器。
图3还图示了计算机系统架构300可以包括与主机执行指令和被执行以运行VM0-N的主机进程隔离和分开的发现卸载模块308。图3描绘了:为了将发现卸载模块308与主机执行指令隔离,发现卸载模块308使用独立的安全和管理引擎(诸如,Intel’sME)来实施。作为可以使用硬件来实施的独立的安全和管理引擎,发现卸载模块308可以提供附加可靠性、稳健性和安全性。独立于存储在物理存储器312内的主机执行指令,诸如,用于操作VM 0-N202的计算应用的主机执行指令,操作允许发现卸载模块308相对不易受VM 302、管理程序306和/或处理元件310可能经历的计算故障、恶意软件威胁和/或处理吞吐量的影响。发现卸载模块308能够执行发现和卸载操作,即使在VM 302中的一个或更多个VM不再操作时。
图3所示的计算机系统架构300可以被实施在当前服务装置、候选装置和/或客户端装置内。在计算机系统架构300被实施在当前服务装置内的实施例中,发现卸载模块308可以被配置为,通过监控由处理元件310执行并且/或者与一个或更多个VM302相关的主机执行指令来执行卸载操作。撤销该发现卸载模块308还可以在检测到卸载条件之后将卸载警报消息通知给一个或更多个客户端装置和/或候选装置。在计算机系统架构300在候选装置内被找到的实施例中,发现卸载模块308可以被配置为,接收卸载警报消息并且确定候选装置是否能够和/或可用于提供在卸载警报消息内找到的服务。如果候选装置有能力和/或可用于提供服务,则发现卸载模块308可以将发现消息通知给一个或更多个客户端装置。在计算机系统架构300在客户端装置内被找到的实施例中,发现卸载模块308可以被配置为接收卸载警报消息,停止主机执行指令和/或触发客户端装置进入自诊断模式。当发现卸载模块308接收到来自一个或更多个候选装置的发现消息时,发现卸载模块308可以选择机会服务装置并且触发重启执行主机执行指令。
虽然图3图示了计算机系统架构300的特定实施例,但是本公开并不限于图3所示的特定实施例。例如,计算机系统架构300还可以包括其它类型的组件,诸如,传感器(例如,加速度计和陀螺仪)和/或图3中未示出的致动器。在计算机系统架构300被实施在具有有限的计算资源的客户端装置内的实施例中,本公开可能不包括管理程序306和/或VM 302。相反,客户端装置可以被配置为支持单个OS。另外,计算机系统架构300可以将发现卸载模块308实施为占用物理存储器312的专用区域的安全高地。图3的使用和讨论仅仅是便于描述和阐述的示例。
图4是在卸载条件出现时动态地通知一个或更多个候选装置和客户端装置的方法400的实施例的流程图。使用图2作为示例,方法400可以使用当前服务装置204来实施。具体地,方法400可以使用作为将其自己与当前服务装置204的主机执行指令隔离的专用执行环境操作的发现卸载模块208B来实施。方法400可以使用硬件、软件或者其组合来执行与发现卸载模块208B相关的操作。
方法400可以开始于框402以监控和检测一个或更多个卸载条件,该一个或更多个卸载条件包括但不限于故障、负载平衡和/或路由条件。方法400可以通过分析计算机事件、电源条件、计算机资源利用、网络条件和/或当前服务装置和/或一个或更多个客户端装置是否正移动到通信范围之外,来检测卸载条件。在一个实施例中,方法400可以在方法400接收到来自另一装置(例如,中央实体)的卸载指令时检测卸载条件,这可以通过分配更多机会装置执行一个或更多个客户端装置的一个或更多个服务操作来包括网络的更多弹性。
方法400然后可以移动到框404,并且获得服务和与卸载的服务和服务装置相关的可用上下文信息。方法400可以获得的服务和可用上下文信息的示例包括:工作负载信息、运动、位置、方向、相对位置、卸载警报消息的紧迫性、提供服务所需的容量和/或负载(例如,带宽、处理能力和传感器范围)和/或服务可以占用计算资源的时长。方法400然后可以移动到框406并且构建提供在框404中获得的服务和上下文信息的卸载警报消息。在一个实施例中,方法400可以编码实际警报消息内的服务和上下文信息。在另一实施例中,卸载警报消息可以包括识别候选装置的一个或更多个字段和/或之前交换存储在存储器和/或数据库内的服务和上下文信息的参考(例如,存储器地址索引)。方法400可以在发现卸载模块被配置成EPID群组时编码指针信息,与编码实际服务和上下文信息相反。然后,方法400移动到框408以使用一个或更多个指定通信信道通知(例如,广播或者多播)卸载警报消息。
图5是动态地识别和利用能够且可用于代替当前服务装置的候选装置的方法500的实施例的流程图。使用图2作为示例,方法500可以使用候选装置206A和206B来实施。具体地,方法500可以使用作为专用执行环境操作以确定关联的候选装置206A和206B是否适合于执行用卸载警报消息表示的服务的发现卸载模块208C和208D来实施。方法500可以使用硬件、软件或者其组合来执行与发现卸载模块208C和208D相关的操作。
方法500可以开始于框502以接收卸载警报消息。在接收到卸载警报消息之后,方法500可以移动到框504并且确定候选装置是否能够和可用于执行用卸载警报消息表示的服务。方法500可以在候选装置能够执行所有服务操作时,确定候选装置能够执行服务。例如,在框504中,方法500可以接收如下卸载警报消息,其中,当前服务装置意在卸载定位信标服务,提供来自温度传感器的温度信息和呈现大气压数据。如果在框504中方法500可以确定候选装置包括获取温度信息和大气压而不是位置信息的传感器,则方法500可以确定候选装置不能执行服务操作。因此,如果候选装置包括获取位置信息、温度信息和大气压的传感器,则方法500可以确定候选装置能够执行服务操作。
方法500还可以在框504中确定候选装置是否可用于执行用卸载警报消息表示的服务。在一个实施例中,方法500可以基于候选装置是否满足提供服务所需的容量和负载需求(例如,带宽、处理能力和传感器范围)和/或计算资源会被使用的时长,来确定可用性。在框504中,方法500可以使用由卸载警报消息表示的服务和上下文信息确定执行服务的数量来计算资源和期限。如果执行服务的数量计算资源的数量和/或期限超过候选装置的当前计算资源,则方法500可以确定候选装置不可用于执行服务。在一个实施例中,候选装置能够将一个或更多个服务操作卸载和/或传递至另一装置以释放计算资源。方法500在框504中在确定候选装置是否可用于执行服务时,可以考虑释放候选装置的计算资源。
在另一实施例中,在框中504,方法500还可以基于候选装置变成将服务提供至客户端装置的机会服务装置的最后时间与接收到卸载警报消息的时间之间的时间限制或者时间限制的划分,来确定可用性。例如,候选装置最近可以被指定为将温度服务提供至一个或更多个客户端装置的机会服务装置。在接收到卸载警报消息之后,方法500可以计算自候选装置变成提供温度服务的机会服务装置以来过去和在候选装置接收到卸载警报消息时的时间量。如果过去的时间量小于时间阈值,则方法500可以确定候选装置不可用于提供服务。如果过去的时间量大于时间阈值,则方法500可以确定候选装置可用于提供服务。
如果方法500确定候选装置能够和可用于执行用卸载警报消息表示的服务,则方法500然后可以移动到框506以将发现消息通知给一个或更多个客户端装置。否则,方法500可以继续监控卸载警报消息。在框506中,方法500可以通知包括用于识别候选装置的标识符(例如,IP地址)的发现消息。另外或者可替代地,方法500可以尝试通过使用发现消息公告内的上下文信息进一步最小化发现机会电子服务装置的频率。发现消息可以包括与通知候选装置关联的上下文信息,诸如,位置信息、网络条件、信号强度和/或计算资源可用性。
方法500可以继续框508并且与一个或更多个客户端装置建立连接。在框508中,方法500可以接收客户端装置已经选择候选装置作为机会服务装置的通知并且/或者接收来自客户端装置的请求以建立连接。方法500然后可以进行框510并且将服务提供给一个或更多个客户端装置。当将服务提供给一个或更多个客户端装置时,方法500可以取消和/或传递候选装置之前对另一装置执行的服务。方法500还可以复制执行指令,并且将执行指令传递至替代装置。方法500可以在删除执行指令之前传递执行指令,以释放附加服务操作的计算资源。
图6是动态地识别和利用机会服务装置的方法600的实施例的流程图。使用图2作为示例,方法600可以使用客户端装置202来实施。具体地,方法600可以使用作为专用执行环境工作以选择发送发现消息的候选装置的发现卸载模块208A来实施。方法600可以使用硬件、软件或者其组合,来执行与发现卸载模块208A相关的操作。
方法600可以开始于框602以接收卸载警报消息。在接收到卸载警报消息之后,方法600可以移动到框604并且停止与用卸载警报消息表示的服务关联的主机操作。方法600还可以同时和/或然后移动到框606,该框606执行自诊断以确定客户端装置是否导致生成卸载警报消息的卸载条件。例如,在框606中,方法600可以确定客户端装置是否具有一个或更多个故障组件,和/或客户端装置是否已经漫游到当前服务装置的范围之外。
方法600然后在框608中可以接收来自一个或更多个候选装置的一个或更多个发现消息。发现消息可以具有如在方法500的框506中所讨论的格式。方法600然后在框610中可以选择与接收到的发现消息关联的候选装置中的一个候选装置作为机会服务装置。方法600可以使用各种选择方法来选择机会服务装置。示例包括:选择第一个接收到的发现消息、循环选择操作、基于标识符信息的选择,基于发现消息内的信息为候选装置排序和排出优先级,和/或执行加权计算。
在选择机会服务装置之后,方法600可以基于框612并且重启与服务关联的主机执行指令。在一个实施例中,方法600可以维护执行检查点重启日志,其识别一致的位置以恢复利用服务的计算操作。在另一实施例中,方法600可以具有其处于RESTful状态的工作负载环境,建议一旦方法600重启主机执行指令,工作负载便立即变得一致。在框614中,方法600与机会服务装置建立连接以获得服务。
现在参照图7,框图图示了根据一个或更多个实施例的可以用于实施本文所描述的技术的可编程装置700(例如,计算系统架构300和方法400、600和400)。图7所示的可编程装置700是:包括第一处理元件770和第二处理元件780的多处理器可编程装置。虽然示出了两个处理元件770和780,但是可编程装置700的实施例还可以包括仅仅一个这种处理元件。
可编程装置700被图示为点对点互连系统,在该点对点互连系统中,第一处理元件770和第二处理元件780经由点对点互连750联接。图7所示的互连中的任何一个或者全部可以被实施为多点总线,而不是点对点互连。
如图7所示,处理元件770和780中的各个处理元件可以是多核处理器,包括第一处理器内核和第二处理器内核(即,处理器内核774a和774B以及处理器内核784a和784B)。这种内核774a、774b、784a、784b可以被配置为执行计算指令代码。然而,其它实施例可以按照需要使用作为单核处理器的处理元件。在具有多个处理元件770、780的实施例中,各个处理元件可以按照需要使用不同数量的内核来实施。
各个处理元件770、780可以包括至少一个共享缓存746。共享缓存746a、746b分别可以存储被处理元件的一个或更多个组件(诸如,内核774a、774b和784a、784b)利用的数据(例如,计算指令)。例如,共享缓存可以在本地缓存存储存储器732、734中的数据,以供处理元件770、780的组件快速访问。在一个或更多个实施例中,共享缓存746a、746b可以包括一个或更多个中级缓存,诸如,等级2(L2)、等级3(L3)、等级4(L4)或者其它等级的缓存、终级缓存(LLC)或者其组合。
虽然为了使图更清晰,图7图示了具有两个处理元件770、780的可编程装置,但是本发明的范围并不限于此,并且任何数量的处理元件可能存在。可替代地,处理元件770、780中的一个或更多个可以是除了处理器之外的元件,诸如,图形处理单元(GPU)、数字信号处理(DSP)单元、现场可编程门阵列或者任何其它可编程处理元件。处理元件780对于处理元件770而言可能是不均匀或者不对称的。根据包括架构特性、微架构特性、热特性、功耗特性等品质指标谱,处理元件770、780之间可能存在各种差异。这些差异可以有效地表现为处理元件770、780当中的不对称性和不均匀性。在一些实施例中,各个处理元件770、780可以驻留在相同的芯片封装中。
第一处理元件770可以进一步包括存储器控制逻辑(MC)772以及点对点(P-P)互连776和778。同样,第二处理元件780可以包括MC 782以及P-P互连786和788。如图7所示,MC772和782将处理元件770、780联接至对应的存储器,即,存储器732和734,这些存储器可以是在本地附接至对应的处理器的主存储器的部分。虽然MC 772和782被图示为被集成到处理元件770、780中,但是在一些实施例中,存储器控制器逻辑可以是处理元件770、780外的离散逻辑,而不是被集成到处理元件570、580中。
处理元件770和处理元件780可以通过链接752和754,经由对应的P-P互连776和786,联接至输入/输出(I/O)子系统790。如图7所示,I/O子系统790包括P-P互连794和798。此外,I/O子系统790包括用于将I/O子系统790与高性能图形引擎738联接的接口792。在一个实施例中,总线(未示出)可以用于将图形引擎738联接至I/O子系统790。可替代地,点对点互连739可以联接这些组件。
按照顺序,I/O子系统790可以经由接口796联接至第一链接716。在一个实施例中,第一链接716可以是外围组件互连(PCI)总线或者诸如PCI Express总线或者另一I/O互连总线等总线,尽管本发明的范围并不限于此。
如图7所示,各个I/O装置714、724可以联接至第一链接716,连同可以将第一链接716联接至第二链接720的桥接器718。在一个实施例中,第二链接720可以是低引脚数(LPC)总线。在一个实施例中,各个装置可以联接至第二链接720,包括:例如,键盘/鼠标712、(多个)通信装置726(其还可以与计算机网络703通信)和数据存储单元728,诸如,硬盘驱动器或者可以包括代码730的其它大容量存储装置。代码730可以包括用于执行上述技术中的一种或多种技术的实施例的指令。进一步地,音频I/O 724可以联接至第二链接720。
应当注意,考虑了其它实施例。例如,代替图7的点对点架构,系统可以实施多点总线或者另一种这样的通信拓扑。虽然链接716和720在图7中被图示为总线,但是可以使用任何期望类型的链接。另外,图7的元件可以可替代地使用比图7中所示的集成芯片更多或者更少的集成芯片来隔开。
现在参照图8,框图图示了根据另一实施例的可编程装置800。图8的某些方面已经从图8被省略,以免模糊图8的其它方面。
图8图示了处理元件870、880可以分别包括集成存储器和I/O控制逻辑(“CL”)872和882。在一些实施例中,CL872、882可以包括存储器控制逻辑(MC),诸如,上面结合图8描述的MC。另外,CL872、882还可以包括I/O控制逻辑。图8不仅图示了存储器832、834可以联接至CL872、882,而且图示了I/O装置844还可以联接至控制逻辑872、882。传统I/O装置815可以通过接口896联接至I/O子系统890。各个处理元件870、880可以包括:在图8中被图示为处理器内核874A、874B、884A和884B的多个处理器内核。如图8所示,I/O子系统890包括用链接852和854连接至处理元件870和880的P-P互连876和886的点对点(P-P)互连894和898。处理元件870和880还可以分别通过链接850以及互连878和888互相连接。
图7和图8所示的可编程装置是可以用于实施本文所讨论的各个实施例的可编程装置的实施例的示意图。图7和图8所示的可编程装置的各个组件可以被组合成片上系统(SoC)架构。
程序指令可以用于致使使用指令编程的通用或者专用处理系统执行本文所描述的操作。可替代地,操作可以由包含用于执行操作的硬线逻辑的特定硬件组件,或者由被编程的计算机组件和自定义硬件组件的任何组合执行。本文所描述的方法还可以作为计算机程序产品而提供,该计算机程序产品可以包括存储有指令的机器可读介质,该指令可以用于对处理系统或者其它装置进行编程以执行方法。本文所使用的术语“机器可读介质”应当包括能够存储或者编码由机器执行的指令序列并且使机器执行本文所描述的方法中的任何一种方法的任何介质。因此,术语“机器可读介质”应当包括但不限于有形的非暂时性存储器,诸如,固态存储器、光盘和磁盘。此外,在本领域中通常用一种形式或另一种形式(例如,程序、方法、过程、应用、模块、逻辑等)将软件说成采取动作或者导致结果。这种表达仅是由处理系统执行软件使得处理器执行动作或者产生结果的一种缩写方式。
公开了至少一个实施例,并且本领域的普通技术人员对(多个)实施例和/或(多个)实施例的特征做出的变化、组合和/或修改在本公开的范围内。因为组合、整合和/或省略(多个)实施例的特征而产生的替代实施例也在本公开的范围内。在明确陈述数值范围或限制的情况下,应将这些明确范围或限制理解为包括属于明确陈述的范围或限制内的类似量值的迭代范围或限制(例如,从约1到约10包括2、3、4等;大于0.10包括0.11、0.12、0.13等)。属于“约”的使用指的是后面的数字的±10%,除非另有说明。
关于权利要求的任何元件的术语“可选地”的使用指,需要元件,或者可替代地不需要元件,两个替代均在权利要求的范围内。诸如包括(comprises)、包含(includes)和具有等广义词的使用可以被理解为,对诸如由……组成、基本上由……组成和大体上由……组成等狭义词提供支持。因此,保护范围并不受上述描述的限制,而是由其遵循的权利要求定义,所述范围包括权利要求的主题的所有等同物。将各个和每个权利要求作为进一步揭示内容并入到说明书中,并且权利要求是本发明的(多个)实施例。
以下示例属于进一步的实施例。
示例1是存储有指令的机器可读介质,该机器可读介质包括如下指令,该指令在被执行时使机器进行如下操作:在客户端装置内的专用执行环境中接收来自服务装置的卸载警报消息,其中,卸载警报消息表示服务装置不能将一个或更多个服务提供给客户端装置;在专用执行环境中接收来自候选装置的发现消息,其中,发现消息表示候选装置能够执行提供给客户端装置的服务;利用专用执行环境基于来自候选装置的发现消息选择机会服务装置;以及利用专用执行环境通过从机会服务装置获得一个或更多个服务,来触发重启客户端装置内的主机执行指令,其中,专用执行环境独立于客户端装置内的主机执行指令。
在示例2中,示例1的主题可以可选地包括如下指令,该指令在被执行时使机器进行如下操作:利用专用执行环境,触发停止与用卸载警报消息表示的一个或更多个服务关联的主机执行指令。
在示例3中,示例1或2的主题可以可选地包括如下指令,该指令在被执行时使机器进行如下操作:利用专用执行环境将客户端装置转变成自诊断模式。
在示例4中,示例3的主题可以可选地包括:自诊断模式确定客户端装置上是否发生故障。
在示例5中,任何前述示例的主题可以可选地包括:专用执行环境被实施在客户端装置的存储器的一个或更多个安全飞地内。
在示例6中,示例1至4中的任何一个示例的主题可以可选地包括:专用执行环境是可信执行环境。
在示例7中,任何前述示例的主题可以可选地包括:卸载警报消息包括与提供给客户端装置的服务相关的上下文信息。
在示例8中,任何前述示例的主题可以可选地包括:发现消息进一步表示候选装置可用于执行提供给客户端装置的服务。
在示例9中,示例1至4、7和8中的任何一个示例的主题可以可选地包括:专用执行环境被实施在安全和管理引擎内。
在示例10中,任何前述示例的主题可以可选地包括:专用执行环境被设置成如下群组,其利用一个或更多个安全证书对群组成员进行认证。
在示例11中,示例10的主题可以可选地包括:群组是EPID群组。
示例12包括用于卸载计算服务的客户端装置,该客户端装置包括发现卸载模块,该发现卸载模块被配置为:接收来自服务装置的卸载警报消息,其中,卸载警报消息表示服务装置不能将一个或更多个服务提供给客户端装置;在专用执行环境中接收来自候选装置的发现消息,其中,发现消息表示候选装置能够执行提供给客户端装置的服务;使用专用执行环境基于来自候选装置的发现消息选择机会服务装置;以及通过从机会服务装置获得一个或更多个服务来触发重启客户端装置内的主机执行指令,其中,发现卸载模块独立于客户端装置内的主机执行指令工作。
在示例13中,示例12的主题可以可选地包括:发现卸载模块进一步被配置为,触发与用卸载警报消息表示的一个或更多个服务关联的主机执行指令的停止。
在示例14中,示例12或13的主题可以可选地包括:发现卸载模块进一步被配置为,使客户端装置转变成自诊断模式。
在示例15中,示例14的主题可以可选地包括:发现卸载模块包括客户端装置的存储器的安全飞地内的执行指令。
在示例16中,示例12至15中的任何一个示例的主题可以可选地包括:发现卸载模块被配置成如下群组,其利用一个或更多个安全证书对群组成员进行认证。
在示例17中,示例12至16中任何一个示例的主题可以可选地包括:卸载警报消息包括与提供给客户端装置的服务相关的上下文信息。
示例18包括卸载计算服务的方法,该方法包括如下步骤:使用客户端装置内的专用执行环境接收来自服务装置的卸载警报消息,其中,卸载警报消息表示服务装置不能将一个或更多个服务提供给客户端装置;使用专用执行环境接收来自候选装置的发现消息,其中,发现消息表示候选装置能够执行提供给客户端装置的服务;使用专用执行环境基于来自候选装置的发现消息选择机会服务装置;以及使用专用执行环境通过从机会服务装置获得一个或更多个服务来触发重启客户端装置内的主机执行指令,其中,专用执行环境独立于客户端装置内的主机执行指令。
在示例19中,示例18的主题可以可选地包括使用专用执行环境停止与用卸载警报消息表示的一个或更多个服务关联的主机执行指令。
在示例20中,示例18或19的主题可以可选地包括:使用专用执行环境将客户端装置转变成自诊断模式。
在示例21中,示例18至20中的任何一个示例的主题可以可选地包括:专用执行环境被实施在安全和管理引擎内。
在示例22中,示例18至21中的任何一个示例的主题可以可选地包括:专用执行环境被设置成如下群组,其利用一个或更多个安全证书对群组成员进行认证。
示例23包括用于卸载计算服务的服务装置,该服务装置包括:发现卸载模块,该发现卸载模块被配置为:检测与提供给一个或更多个客户端装置的服务操作对应的一个或更多个卸载条件的出现;获得与对应的服务操作有关的服务和上下文信息;构建卸载警报消息,该卸载警报消息表示服务装置不能执行服务操作;以及将卸载警报消息通知给一个或更多个客户端装置,其中,发现卸载模块独立于提供服务操作的主机执行指令工作。
在示例24中,示例23的主题可以可选地包括:发现卸载模块被配置为通过检测服务装置故障来检测一个或更多个卸载条件的出现。
在示例25中,示例23或者24的主题可以可选地包括:服务和上下文信息包括服务装置的位置、运动、方向和相对位置。
示例26包括用于卸载计算服务的系统,该系统包括至少一个处理器和联接至所述至少一个处理器的至少一个存储器,并且包括如下指令,该指令在被至少一个处理器执行时使系统执行示例1至11中的任何一个示例的机器可读介质的步骤。
示例27包括用于卸载计算服务的客户端装置,该客户端装置包括用于执行示例1至11中的任何一个示例的机器可读介质的步骤的部件。
示例28包括卸载计算服务的方法,该方法执行示例23至25中的任何一个示例的服务装置的步骤。
示例29包括用于卸载计算服务的服务装置,该服务装置包括用于执行示例23至25中的任何一个示例的服务装置的步骤的部件。
示例30包括用于卸载计算服务的系统,该系统包括至少一个处理器和联接至至少一个处理器的至少一个存储器,并且包括如下指令,该指令在被至少一个处理器执行时使系统执行示例23至25中的任何一个示例的服务装置的步骤。
应当理解,上面的描述旨在是说明性的,而非限制性的。例如,上述实施例可以彼此结合使用。在审阅上面的描述时,对于本领域的技术人员而言,许多其它实施例将变得显而易见。因此,应该参照所附权利要求连同这些权利要求所享有的等同物的全部范围来确定本发明的范围。应当注意,任何参考文献的讨论也不是对其作为本发明的现有技术的认可,特别是公开日在本申请的优先权日期之后的任何参考文献。
Claims (19)
1.一种存储装置或存储盘,其包括指令,所述指令在被执行时使具有专用执行环境的客户端装置至少进行如下操作:
响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;
触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及
通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
2.根据权利要求1所述的存储装置或存储盘,其中,所述指令在被执行时使所述客户端装置将所述客户端装置转变成自诊断模式。
3.根据权利要求2所述的存储装置或存储盘,其中,所述自诊断模式确定所述客户端装置上是否发生了故障。
4.根据权利要求1所述的存储装置或存储盘,其中,所述指令在被执行时使所述客户端装置在所述客户端装置的存储器的一个或更多个安全飞地内实现所述专用执行环境。
5.根据权利要求1所述的存储装置或存储盘,其中,所述指令在被执行时使所述客户端装置将所述客户端装置实施为可信执行环境。
6.根据权利要求1所述的存储装置或存储盘,其中,所述指令在被执行时使所述客户端装置在安全和管理引擎内实现所述专用执行环境。
7.一种用于卸载计算服务的客户端装置,所述客户端装置包括:
存储器;以及
处理器,所述处理器至少进行如下处理:
响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对述客户端装置的所述一个或更多个服务;
触发停止与所述卸载警报消息中表示的所述一个或更多个服务关联的主机执行指令;以及
通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,
所述主机执行指令在所述客户端装置上与所述处理器所运行的专用执行环境独立地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
8.根据权利要求7所述的客户端装置,其中,所述处理器将所述客户端装置转变成自诊断模式。
9.根据权利要求8所述的客户端装置,其中,所述处理器在所述客户端装置的所述存储器的安全飞地内执行所述执行指令。
10.一种用于卸载计算服务的方法,所述方法包括如下步骤:
响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;
触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及
通过从所述机会服务装置获得所述一个或更多个服务,在专用执行环境中执行指令来触发重启所述主机执行指令,
所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
11.根据权利要求10所述的方法,所述方法还包括如下步骤:通过在所述专用执行环境中执行指令,将所述客户端装置转变成自诊断模式。
12.根据权利要求10所述的方法,其中,所述专用执行环境被实施在安全和管理引擎内。
13.一种用于卸载计算服务的服务装置,所述服务装置包括:
存储器;以及
处理器,所述处理器至少进行如下操作:
检测与提供给一个或更多个客户端装置的服务操作对应的一个或更多个卸载条件的出现;
获得与对应的服务操作有关的服务和上下文信息;
基于所述服务和上下文信息来构建卸载警报消息,所述卸载警报消息表示所述服务装置不能执行所述服务操作;以及
将所述卸载警报消息通知给所述一个或更多个客户端装置和一个或更多个候选装置,以确定所述一个或更多个候选装置是否能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务,
所述处理器在专用执行环境中与提供所述服务操作的主机执行指令独立地工作,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
14.根据权利要求13所述的服务装置,其中,所述处理器被配置为,通过检测服务装置故障来检测一个或更多个卸载条件的出现。
15.根据权利要求13所述的服务装置,其中,所述服务和上下文信息包括所述服务装置的位置、运动、方向和相对位置。
16.一种存储装置或存储盘,其包括指令,所述指令在被执行时使具有专用执行环境的客户端装置至少进行如下处理:
响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向所述客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:触发自诊断模式,以确定在所述客户端装置处是否发生了故障,并且基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;
触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及
通过从所述机会服务装置获得所述一个或更多个服务,来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行。
17.一种用于卸载计算服务的方法,所述方法包括如下步骤:
响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:触发自诊断模式以确定在所述客户端装置处是否发生了故障,并且基于来自候选装置的发现消息选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;
触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及
通过从所述机会服务装置获得所述一个或更多个服务,在专用执行环境中执行指令来触发重启所述主机执行指令,
所述主机执行指令在所述客户端装置上与所述专用执行环境隔离地执行。
18.一种用于卸载计算服务的系统,所述系统包括:
检测装置,其检测与提供给一个或更多个客户端装置的服务操作对应的一个或更多个卸载条件的出现;
获取装置,其获得与对应的服务操作有关的服务和上下文信息;
构建装置,其基于所述服务和上下文信息构建卸载警报消息,所述卸载警报消息表示所述服务装置不能执行所述服务操作;以及
通知装置,其将所述卸载警报消息通知给所述一个或更多个客户端装置和一个或更多个候选装置,以确定所述一个或更多个候选装置是否能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务。
19.一种用于卸载计算服务的系统,所述系统包括:
选择装置,其响应于卸载警报消息进行操作,其中所述卸载警报消息(i)表示第一服务装置不能向客户端装置提供一个或更多个服务,并且(ii)包括来自与所述第一服务装置正在提供给所述客户端装置的一个或更多个服务相关的卸载警报消息的上下文信息,所述操作包括:基于来自候选装置的发现消息来选择所述候选装置作为机会服务装置,所述发现消息表示所述候选装置能基于所述上下文信息执行针对所述客户端装置的所述一个或更多个服务;
触发停止装置,其触发停止与所述卸载警报消息中表示的、要由所述第一服务装置提供的所述一个或更多个服务关联的主机执行指令;以及
触发重启装置,其通过从所述机会服务装置获得所述一个或更多个服务来触发重启所述主机执行指令,所述主机执行指令在所述客户端装置上与专用执行环境隔离地执行,所述专用执行环境被设置成增强隐私标识符(EPID)群组,该增强隐私标识符(EPID)群组利用一个或更多个安全证书对群组成员进行认证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/277,874 | 2016-09-27 | ||
US15/277,874 US10355916B2 (en) | 2016-09-27 | 2016-09-27 | Survivable networks that use opportunistic devices to offload services |
PCT/US2017/053747 WO2018064180A1 (en) | 2016-09-27 | 2017-09-27 | Networks that use opportunistic devices to offload services |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110024356A CN110024356A (zh) | 2019-07-16 |
CN110024356B true CN110024356B (zh) | 2021-12-31 |
Family
ID=60084085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780066222.5A Active CN110024356B (zh) | 2016-09-27 | 2017-09-27 | 用于卸载计算服务的装置、系统、方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10355916B2 (zh) |
EP (1) | EP3520369B1 (zh) |
CN (1) | CN110024356B (zh) |
WO (1) | WO2018064180A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10404794B2 (en) * | 2016-06-21 | 2019-09-03 | Orion Labs | Discovery and formation of local communication group |
US10355916B2 (en) | 2016-09-27 | 2019-07-16 | Mcafee, Llc | Survivable networks that use opportunistic devices to offload services |
US10216614B2 (en) * | 2016-11-27 | 2019-02-26 | Amazon Technologies, Inc. | Sampling approaches for a distributed code tracing system |
US11272570B2 (en) * | 2016-11-28 | 2022-03-08 | Lg Electronics Inc. | Method and apparatus for transmitting and receiving data in mesh network using Bluetooth |
US11074359B2 (en) * | 2017-06-05 | 2021-07-27 | International Business Machines Corporation | Privacy focused network sensor device object recognition |
US10439877B2 (en) * | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10659319B2 (en) | 2017-12-18 | 2020-05-19 | Cisco Technology, Inc. | Systems and methods for enabling inter-agent multicast domain name system client roaming in wide area network |
EP3598689B1 (en) * | 2018-07-17 | 2022-01-05 | Assa Abloy AB | Managing central secret keys of a plurality of user devices associated with a single public key |
US11334388B2 (en) * | 2018-09-27 | 2022-05-17 | Amber Solutions, Inc. | Infrastructure support to enhance resource-constrained device capabilities |
US11349296B2 (en) | 2018-10-01 | 2022-05-31 | Intelesol, Llc | Solid-state circuit interrupters |
US11003539B2 (en) * | 2019-01-15 | 2021-05-11 | EMC IP Holding Company LLC | Offload processing using a storage slot |
US10931572B2 (en) | 2019-01-22 | 2021-02-23 | Vmware, Inc. | Decentralized control plane |
US11671562B2 (en) * | 2019-05-09 | 2023-06-06 | Present Communications, Inc. | Method for enabling synthetic autopilot video functions and for publishing a synthetic video feed as a virtual camera during a video call |
EP3979679A4 (en) * | 2019-06-03 | 2023-05-03 | Intellectual Discovery Co., Ltd. | METHOD, APPARATUS AND COMPUTER PROGRAM FOR BROADCASTING DETECTION SERVICE IN A WIRELESS COMMUNICATIONS SYSTEM AND RECORDING MEDIUM THEREOF |
US11670946B2 (en) | 2020-08-11 | 2023-06-06 | Amber Semiconductor, Inc. | Intelligent energy source monitoring and selection control system |
CN111988415B (zh) * | 2020-08-26 | 2021-04-02 | 绍兴文理学院 | 基于模糊博弈的移动传感设备计算任务安全卸载方法 |
Family Cites Families (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1198101A1 (en) * | 2000-10-13 | 2002-04-17 | Sun Microsystems, Inc. | Provisioning mechanism for a service gateway |
US8239917B2 (en) * | 2002-10-16 | 2012-08-07 | Enterprise Information Management, Inc. | Systems and methods for enterprise security with collaborative peer to peer architecture |
US7673341B2 (en) * | 2004-12-15 | 2010-03-02 | Microsoft Corporation | System and method of efficiently identifying and removing active malware from a computer |
US8136162B2 (en) * | 2006-08-31 | 2012-03-13 | Broadcom Corporation | Intelligent network interface controller |
US7873710B2 (en) * | 2007-02-06 | 2011-01-18 | 5O9, Inc. | Contextual data communication platform |
NO326590B1 (no) * | 2007-04-16 | 2009-01-19 | Kubekit As | Fremgangsmate og anordning for verifikasjon av informasjonstilgang i IKT-system med flere sikkerhetsdimensjoner og sikkerhetsniva. |
US20080287100A1 (en) * | 2007-05-18 | 2008-11-20 | Aol Llc | Mobile account access through a data processing system |
US20090100519A1 (en) * | 2007-10-16 | 2009-04-16 | Mcafee, Inc. | Installer detection and warning system and method |
US9779235B2 (en) * | 2007-10-17 | 2017-10-03 | Sukamo Mertoguno | Cognizant engines: systems and methods for enabling program observability and controlability at instruction level granularity |
US8479289B1 (en) * | 2009-10-27 | 2013-07-02 | Symantec Corporation | Method and system for minimizing the effects of rogue security software |
US20110117903A1 (en) * | 2009-11-19 | 2011-05-19 | James Roy Bradley | Device and method for disabling mobile devices |
US8572728B2 (en) * | 2010-06-08 | 2013-10-29 | Hewlett-Packard Development Company, L.P. | Initiation of storage device scans |
US8856317B2 (en) * | 2010-07-15 | 2014-10-07 | Cisco Technology, Inc. | Secure data transfer in a virtual environment |
US8768339B2 (en) * | 2010-12-15 | 2014-07-01 | At&T Intellectual Property I, L.P. | Method and apparatus for providing long term evolution service outage and degradation management |
ES2560303T3 (es) * | 2010-12-23 | 2016-02-18 | Koninklijke Kpn N.V. | Método, dispositivo, sistema y arquitectura de red para la gestión de una solicitud de servicio |
US8832836B2 (en) * | 2010-12-30 | 2014-09-09 | Verisign, Inc. | Systems and methods for malware detection and scanning |
US8902855B2 (en) | 2011-08-01 | 2014-12-02 | Intel Corporation | Opportunistic device-to-device communication |
EP4002761B1 (en) * | 2011-09-30 | 2023-11-15 | INTEL Corporation | Out-of-band remote authentication |
US9204299B2 (en) | 2012-05-11 | 2015-12-01 | Blackberry Limited | Extended service set transitions in wireless networks |
CN104303455B (zh) * | 2012-05-30 | 2018-06-29 | 马维尔国际贸易有限公司 | 社交媒体客户端设备及其方法和介质 |
US20140006776A1 (en) * | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US9154267B2 (en) | 2012-07-02 | 2015-10-06 | Intel Corporation | Sounding reference signal (SRS) mechanism for intracell device-to-device (D2D) communication |
US8782401B2 (en) * | 2012-09-26 | 2014-07-15 | Intel Corporation | Enhanced privacy ID based platform attestation |
US10231120B2 (en) * | 2012-10-16 | 2019-03-12 | Cisco Technology, Inc. | Offloaded security as a service |
US9992704B2 (en) * | 2013-04-12 | 2018-06-05 | Provenance Asset Group Llc | Radio access network based traffic steering to non-cellular access |
US9674251B2 (en) * | 2013-06-17 | 2017-06-06 | Qualcomm Incorporated | Mediating content delivery via one or more services |
US9319426B2 (en) * | 2013-06-18 | 2016-04-19 | Dell Products, Lp | System and method for operating malicious marker detection software on management controller of protected system |
EP2835995A1 (en) | 2013-08-09 | 2015-02-11 | Giesecke & Devrient GmbH | Methods and devices for performing a mobile network switch |
US9313299B2 (en) * | 2013-12-18 | 2016-04-12 | Verizon Patent And Licensing Inc. | Cloud edge appliances to extend cloud applications to customer premises |
JP6404347B2 (ja) * | 2013-12-20 | 2018-10-10 | インテル・コーポレーション | 実行オフロード |
US10891155B2 (en) * | 2014-01-03 | 2021-01-12 | Mcafee, Llc | Wearable device task offloading to conserve processing resources |
US9608825B2 (en) * | 2014-11-14 | 2017-03-28 | Intel Corporation | Trusted platform module certification and attestation utilizing an anonymous key system |
CN104735134B (zh) * | 2015-02-15 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 一种用于提供计算服务的方法和装置 |
US10015120B2 (en) * | 2015-03-25 | 2018-07-03 | Oracle International Corporation | Providing message delivery services between requestors and providers |
US10355916B2 (en) | 2016-09-27 | 2019-07-16 | Mcafee, Llc | Survivable networks that use opportunistic devices to offload services |
-
2016
- 2016-09-27 US US15/277,874 patent/US10355916B2/en active Active
-
2017
- 2017-09-27 EP EP17784469.3A patent/EP3520369B1/en active Active
- 2017-09-27 WO PCT/US2017/053747 patent/WO2018064180A1/en unknown
- 2017-09-27 CN CN201780066222.5A patent/CN110024356B/zh active Active
-
2019
- 2019-07-15 US US16/511,878 patent/US11153150B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3520369B1 (en) | 2021-04-07 |
US20190342150A1 (en) | 2019-11-07 |
WO2018064180A1 (en) | 2018-04-05 |
EP3520369A1 (en) | 2019-08-07 |
US20180091361A1 (en) | 2018-03-29 |
US10355916B2 (en) | 2019-07-16 |
CN110024356A (zh) | 2019-07-16 |
US11153150B2 (en) | 2021-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110024356B (zh) | 用于卸载计算服务的装置、系统、方法 | |
Osanaiye et al. | From cloud to fog computing: A review and a conceptual live VM migration framework | |
US10027717B2 (en) | Peer-to-peer group vigilance | |
US20220191648A1 (en) | Digital twin framework for next generation networks | |
US8613085B2 (en) | Method and system for traffic management via virtual machine migration | |
US10110481B2 (en) | Virtual network functions with high availability in public clouds | |
US9081750B2 (en) | Recovery escalation of cloud deployments | |
US10678583B2 (en) | Guest controlled virtual device packet filtering | |
CA2903649C (en) | System and method for creating a trusted cloud security architecture | |
US20150326448A1 (en) | Network-as-a-service product director | |
JP2019030203A (ja) | 高効率バッテリバックアップシステム | |
US11561816B2 (en) | Elastic container platform architecture | |
JP2018116680A (ja) | 電源ユニット(psu)管理 | |
US10120779B1 (en) | Debugging of hosted computer programs | |
US20210011823A1 (en) | Continuous testing, integration, and deployment management for edge computing | |
CN116305136A (zh) | 用于微服务体系结构的来源审核跟踪 | |
US20230132992A1 (en) | Infrastructure-delegated orchestration backup using networked processing units | |
US20220217582A1 (en) | User plane replicator | |
WO2018136087A1 (en) | Multiple remote attestation service for cloud-based systems | |
US20190073479A1 (en) | Trust failure alert in communications | |
US11809890B2 (en) | Managing quality of storage service in virtual network | |
US11900127B2 (en) | Automated recovery of far edge computing infrastructure in a 5G network | |
Kim et al. | Viewpoint Networking for Trusted Reality |
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 |