向所部署装置编制和管理服务的制作方法

文档序号:10574067阅读:303来源:国知局
向所部署装置编制和管理服务的制作方法
【专利摘要】对在所部署的计算、电子、器具和类似装置上编制和/或管理服务进行了描述。服务编制和/或管理系统(“SOMS”)可以被配置成用于提供向一个或多个所部署装置编制和/或管理服务。该SOMS可以从所部署装置获得信息,如状态、能力和服务元数据。然后该SOMS可以包封并存储所获得的信息以供以后使用。该SOMS也可以存储服务信息,促进基于所存储的服务定义元数据的服务创建、在部署之前建模或模拟服务、并且将服务部署到远程部署的装置上,随后激活以开始该服务的操作。可对其他实施例进行描述并要求保护。
【专利说明】
向所部署装置编制和管理服务
技术领域
[0001] 本公开涉及计算、电子、器具及相关的技术领域,具体地,涉及与向所部署的计算、 电子、器具和类似装置编制和管理服务相关联的设备、方法和存储介质。
【背景技术】
[0002] 本文所提供的背景描述是为了一般地呈现本公开的上下文的目的。除非本文另外 指出,否则本节中所描述的材料对于本申请的权利要求书而言并非现有技术并且不因为包 括在本节中而确认为现有技术。
[0003] 物联网("IoT")的基本前提是各种物体或事物(如传感器、致动器、基于位置的系 统)和标识技术(如(但不限于)射频标识(RFID))可以使用机器对机器通信来相互交互,并 且可以以合作方式起作用来实现共同的目标。示例性目标可能是若干空气质量传感器收集 关于在地理上分散的位置的空气质量的信息。进一步的示例是一系列压电振动传感器监测 设备性能或监控家庭安全。在这方面,每个感测装置可以被认为是Ι〇Τ装置,并且一起工作 的许多装置的合作可以被认为是Ι〇Τ服务。
[0004] 常规IoT技术有时存在以下不足中的一项或多项:
[0005] 1. IoT装置通常是被编程为用于特定功能的单一功能的装置。对装置的重新配置 可能需要手动干预和停机时间。因此,重复利用可能存在较大障碍,并且这样的装置不能容 易地重新配置来支持与它们最初被委任的Ι0Τ服务不同的Ι0Τ服务。此外,这些单一用途的 装置可能无法被配置成运行多个应用,从而阻碍了参与多个Ι0Τ服务。
[0006] 2.装置无法自我发现和自动配置自己。典型的装置可能需要最终用户干预,并且 需要使用先进的领域和编程知识的手动配置。当处理大量的装置和部署后时,这个问题更 加明显。
[0007] 3.不灵活的重新配置能力:许多IoT计算装置被预先配置并且有很少或根本没有 重新配置的能力。当装置在不可接近的位置或者被嵌入时或者当装置需要直接物理干预来 重新配置时,这可能会呈现显著的挑战。装置可能不能够运行多个计算工作负荷。
[0008] 4.可能存在与Ι0Τ服务的部署相关联的显著成本(操作成本和资本成本)。
[0009] 5.当前Ι0Τ产品可能无法提供按需装置和网络性能度量。可能需要这样的度量来 提供资源感知服务,如社区网格优化服务。
[0010] 6.发散网络拓扑可能难以互连。作为示例,两个网络拓扑的组合,一个是低等待时 间、高频率,而另一个是高等待时间,突发数据可能是困难的。
[0011] 7 .典型的计算工作负荷可以在云为中心的基础设施上来处理。这可能会呈现若干 潜在的问题,如:(i)过长的等待时间,这会阻碍(近)实时服务递送,如家庭自动化和医疗警 报;(? )在丢失WAN连接的情况下充当单个故障点的集中计算处理;(iii)用于机器对机器 类型数据传输的过高数据传输成本;以及(iv)所有数据的发送,而不管其值,来在云中进行 处理。
[0012] 8.云中心方法往往出现隐私、安全和认证问题。用户可能不被提供确定他们希望 共享哪些数据的能力;这可能尤其涉及住宅或高价值工业用户。
[0013] 9.目前的产品可能无法提供按需装置和网络性能度量。提供资源感知服务(如社 区网格优化服务)可能需要这样的度量。
【附图说明】
[0014] 结合附图,借助于下面的详细描述将很容易理解实施例。为了便于此描述,类似的 参考标号表示类似的结构元件。在附图的各图中通过举例而非限制的方式展示了多个实施 例。
[0015] 图1是展示根据各种实施例的服务编制和/或管理系统的部件的框图。
[0016] 图2展示了根据各种实施例的用于向所部署装置编制和/或管理服务的示例性过 程。
[0017] 图3进一步展示了根据各种实施例的用于向所部署装置编制和/或管理服务的示 例性过程。
[0018] 图4展示了根据各种实施例的用于执行服务适用性分析的示例性过程。
[0019] 图5展示了根据各种实施例的用于执行服务组合的示例性过程。
[0020] 图6展示了根据各种实施例的用于执行服务部署的示例性过程。
[0021] 图7展示了根据各种实施例的在所部署装置和服务编制和管理系统的部件之间的 示例性通信。
[0022]图8展示了根据各种实施例的对所部署装置的示例性选择。
[0023]图9至图11展示了根据各种实施例的用于使服务目录和服务部署选项可视化的示 例性用户界面。
[0024]图12展示了根据各种实施例的被配置成实施本公开的各个方面的示例性计算环 境。
[0025] 图13展示了根据各种实施例的具有被配置成使设备能够实施本公开的各个方面 的指令的示例性存储介质。
【具体实施方式】
[0026] 在下面的详细说明中,参考形成本说明的一部分的附图,在附图中,类似的标号通 篇表示类似的部件,并且在附图中通过展示的方式示出了可以实施的实施例。应当理解,可 以在不脱离本公开的范围的情况下利用其他实施例并且可以进行结构或逻辑上的改变。因 此,下面的详细说明不应被认为具有限制意义,并且实施例的范围由所附权利要求书及其 等效物限定。
[0027] 可以以对理解要求保护的主题最有帮助的方式将各种操作依次描述为多个分立 动作或操作。然而,描述的顺序不应被解释为暗示这些操作一定是顺序相关的。具体地,可 以不按所呈现的顺序来执行这些操作。可以按与所描述的实施例不同的顺序来执行所描述 的操作。可以执行各种附加的操作和/或可以在附加实施例中省略所描述的操作。
[0028] 为了本公开的目的,短语"A和/或B"是指(A)、(B)或(A和B)。为了本公开的目的,短 语"A、B和/或C"是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C),或(A、B和C)。本描述可能使用短 语"在一个实施例中(in an embodiment)"或"在实施例中(in embodiments)",这些短语可 以各自是指相同或不同的实施例中的一个或多个。此外,如关于本公开的实施例使用的术 语"包括(comprising)"、"包括(including)"、"具有(having)"等是同义的。
[0029] 描述了用于在所部署装置上编制和/或管理服务的方法、计算机可读存储介质以 及设备。如本文所描述的,装置(并且具体地,与物联网("Ι〇Τ")活动相关联的装置)可以包 括能够执行计算和其他功能(如通过计算处理器的操作)、捕获和发送数据(如观测)、作用 于所接收的数据和/或与其他实体(如装置和/或系统)进行通信的各种装置;本文所提供的 装置的示例可能不暗示特定限制。在各种实施例中,与本文所描述的技术一起使用的一个 或多个装置可以包括存储装置。在各种实施例中,这些装置可能能够由其他装置和/或系统 控制。这些装置可以被部署为使得它们可以物理地放置在地理区域、工作环境中、放置在移 动的车辆上、与器具相集成地放置或以其他方式放置,使得它们可以有效地监测和收集真 实世界数据。此外,服务可以包括一起工作的一个或多个装置的操作,如监控区域、收集数 据、执行任务或执行其他活动。
[0030] 在实施例中,服务编制和/或管理系统("S0MS")可以被配置成提供向一个或多个 所部署的Ι〇Τ装置编制和/或管理服务。S0MS可以被配置成在异类IoT基础设施中执行这样 的编制和/或管理。在各种实施例中,S0MS可以通过提取与IoT基础设施相关联的复杂性和 减少所需的对在装置中使用的技术的技术领域知识和专门技术来便于用户配置服务。
[0031] 在各种实施例中,代理(如服务编制代理)可以被安装在IoT装置上并且可以与 S0MS通信。该代理可以向S0MS发送数据,这些数据可以包括如以下等信息:遥测信息(其可 以包括如装置状态信息和装置能力等信息);服务元数据,其可以包括如(但不限于)装置的 传感器信息(例如,装置包括或与其接口连接的传感器类型)、装置的任务信息(其可以包括 例如正在运行的任务、估计完成时间、用于运行进一步的任务的容量等信息)等信息;以及 服务有效载荷数据(其可以包括如观测(如度量测量值、传感器测量值等)等信息)。服务编 制代理还可以充当导管,通过这个导管,可以在装置和S0MS之间传送数据,例如服务二进 制、服务元数据、遥测、控制和服务有效载荷数据。
[0032] 可以被用来在S0MS 100与装置之间传送信息的方法或协议的示例包括安全复制 ("SCP")、文件传输协议("FTP")、消息队列遥测传输("MQTT")以及(例如)将HTTP方法用于 RESTful服务(例如,HTTP GET、PUT、P0ST等)的RESTful API方法。本领域的技术人员将理解 这些方法或协议仅为示例性的,并且将理解可以使用这些和其他专有和/或公共协议或方 法来传送用于所公开的实施例的信息。
[0033]服务编制代理除了负责调度信息(如装置遥测信息、服务有效载荷、服务元数据以 及装置事件信息),装置上的服务编制代理还可以被配置成从S0MS(例如,从装置管理器)接 收传入数据和/或指令并且将该所接收的信息转换成用于装置的动作。
[0034]在各种实施例中,装置上的服务编制代理可以获得或推导其发送到S0MS100的相 关信息。例如,服务编制代理可以向S0MS发送系统日志、应用日志、网络状态信息等。在各种 实施例中,例如在具有Linux 0S的装置上,服务编制代理也可以使用Linux方法或命令(例 如ifconfig(用于提供关于网络接口的信息)、df (用于提供关于磁盘空间/使用的信息)、du (磁盘使用)、free-m(RAM)、vmstat(用于获得虚拟存储器统计)等)来获得或推导信息。将理 解,这些仅为示例性的,并且本领域的技术人员将理解,可以使用这些和其他命令和/或操 作系统调用来获得信息。在各种实施例中,服务编制代理可以在具有不同操作系统的不同 类型的装置上安装并且在特定装置上使用适当方法来获得用于发送到SOMS 100的信息。可 以认识到,术语"代理"和"服务编制代理"并不打算暗示任何特定限制或能力,并且在各种 实施例中,代理可能具有更简单或更复杂的处理和/或通信能力。
[0035] 在各种实施例中,S0MS可以被配置成从所部署装置获得信息,如描述装置状态信 息和装置能力的遥测信息。S0MS也可以被配置成从装置获得其他信息,如服务元数据,其可 以包括如(但不限于)装置的传感器信息(例如,装置包括或与其接口连接的传感器类型)、 装置的任务信息(例如,正在运行的任务、估计完成时间、用于运行进一步的任务的容量等) 等信息。S0MS可以并入或有权访问存储装置(如持久性存储设备)来存储所获得的数据。在 各种实施例中,从装置获得的信息可以如通过装置推数据或响应于请求而发送的数据直接 从装置获得。在其他实施例中,信息可以由装置存储在持久性存储设备上并且然后稍后由 S0MS从持久性存储设备获得。然后S0MS可以如使用服务编制语言对象("S0L")来包封和存 储所获得的信息以供以后使用。S0MS也可以被配置成将服务信息存储在如服务的多个版本 和配置可以在其中被存储和检索的元数据存储库中。S0MS还可以被配置成从其他来源获得 数据,例如从与系统的用户交互产生的数据。
[0036] 在各种实施例中,S0MS可以促进服务的创建。在各种实施例中,S0MS可以促进基于 所存储的服务定义元数据来创建服务。在各种实施例中,S0MS可以促进基于服务可用的资 源(例如,可用Ι〇Τ装置的数量、可用网络带宽、计算资源、预算、成本等)在服务的部署之前 建模或模拟该服务。S0MS还可以促进用户管理和/或停止先前运行或弃用的服务以便部署 和重新配置当前服务。然后S0MS可以允许将服务部署到远程部署的装置,随后激活以开始 服务的操作。在各种实施例中,S0MS可以通过使用一个或多个用户接口和相关联API(其可 以促进对服务工作流的用户控制和可视化)来促进服务创建。下面对其他实施例进行描述。 [0037]图1是展示根据各种实施例的服务编制和/或管理系统100( "S0MS 100")的部件的 框图。虽然在图1中展示了特定实体,但是可以认识到,在各种实施例中,图1中所展示的特 定模块、存储实体和用户界面可以被复制、重命名、与其他所展示实体相组合、分为附加实 体或省略。另外,虽然特定组的实体本文被描述为在各种"层"内发生,但是这个术语不一定 被理解为暗示本文所描述的实体的操作的任何特定顺序或信息流的任何特定方向性。此 外,虽然图1中所展示的实体为容易说明起见都展示为被包含为统一 S0MS 100的一部分,但 是可以认识到,执行S0MS 100的活动的实体可以位于不同的装置和/或系统处并且可以以 各种方式(如通过有线和/或无线通信)进行通信。
[0038] 在各种实施例中,S0MS 100可以关于IoT基础设施140执行服务管理和/或编制活 动。Ι〇Τ基础设施140可以包括一个或多个所部署装置,这些装置包括数据生成和收集装置 以及处理装置。例如,IoT基础设施中的装置可以包括但不限于:装置、致动器、传感器、通信 装置、网关、边缘为基础的装置、RFID标签和移动装置。在各种实施例中,IoT基础设施140中 的装置可以具有其他装置中没有的特定能力,如记录图像、视频或声音的能力、存储数据的 能力或读出特定传感器读数的能力,如空气或水质量或振动数据。在各种实施例中,IoT基 础设施140中的装置可以包括存储装置和/或可以能够由其他装置和/或系统控制。
[0039] IoT基础设施140可以包括各种各样的部署方案,其中一些可以被部署在传统的固 定位置(如数据中心)的外面。IoT基础设施140可以被配置成使得包括在IoT基础设施140内 的装置可以协同操作或者可以相互合作地操作。在各种实施例中,IoT基础设施140的装置 可以包括提供处理和通信能力的汇聚器和/或网关。
[0040] 在各种实施例中,S0MS 100可以包括用户管理和界面层110("UIL 110"),该层可 以便于用户管理以及用户交互和用户信息的呈现,如以用于服务的生成、修改和部署。在各 种实施例中,UIL 110可以包括用户帐户管理器115("UAM 115"),该管理器可以便于配置和 管理S0MS 100的用户。UMI 110还可以包括可以提供信息的呈现和用户交互的接收的用户 界面118("UI 118")。在各种实施例中,UI 118可以被配置成便于用户请求关于可用服务的 信息并且作为响应向用户呈现可用服务的信息,如来自系统服务目录的可用服务的列表。 在各种实施例中,UI 118可以被配置成从用户处接收交互以便于该用户执行任务,如选择 服务或定制服务。在各种实施例中,UI 118可以被配置成向用户呈现服务部署结果。在各种 实施例中,UI 118也可以被配置成从用户处征求反馈(如在服务完成时)。
[0041] 在各种实施例中,S0MS 100可以包括持久性存储设备150("PS 150"),该存储器可 以包括一个或多个存储模块。在各种实施例中,如可以理解,PS 150可以包括各种附连的或 远程连接的存储装置或系统。PS 150可以包括元数据目录155("MDC 155"),该目录可以被 配置成存储装置库存数据和/或服务定义和其他服务信息。PS 150还可以包括操作存储器 158("0S 158"),该存储器可以被配置成存储如(但不限于)以下等信息:装置遥测、服务信 息、过程、错误报告等。虽然PS 150在图1中被展示为包括MDC 155和0S 158两者,但是在各 种实施例中,PS 150可以使用不同的架构存储信息。在各种实施例中,PS 150可以在多个系 统和/或装置之间分布。
[0042] 在各种实施例中,S0MS 100可以包括服务管理层120("SML 120UML 120可以提 供接口(如应用程序接口)或者"API",其可以由UI 118或由与S0MS 100进行通信的应用使 用。在各种实施例中,如可以理解的,这些接□可以包括如表现性状态转移("REST")API或 套接字接口等接口,但不限于这些示例。
[0043] 在各种实施例中,SML 120可以包括服务管理器123("SM 123")AM 123可以被配 置成从用户处接收输入以将用户的服务目标映射到可部署的服务。SM 123还可以被配置成 促进服务组合和当服务被部署在一组特定装置上并在其上操作时监测服务性能。SM 123可 以监测特定性能指示符并且向回报告这些指示符,如用于呈现给用户。SM 123还可以被配 置成监测用于执行服务的装置的各个部件之间的关联(包括逻辑关联)。
[0044] 在各种实施例中,SML 120还可以包括模型管理器125("MM 125"),该管理器可以 被配置成执行服务适用性分析,如本文所描述的。MM 125可以被配置成将服务的特定特性 或要求与用户可用的特定基础设施(例如,具有特定传感器或计算能力的所部署装置)进行 匹配。MM 125因此可以被配置成将服务与可用基础设施进行匹配。在各种实施例中,SML 120还可以包括部署管理器128( "DM 128"),该管理器可以被配置成向可用装置部署服务。
[0045] 在各种实施例中,S0MS 100可以包括服务编制层130( "S0L 130"),该层可以包括 被配置成支持所部署装置的操作管理的一个或多个模块。S0L130可以包括调度器管理器 131( "SCM 131"),该管理器可以被配置成向所部署装置调度服务部署。在各种实施例中, SCM 131可以被配置排队或按需机制来调度服务部署。在各种实施例中,SCM 131可以被配 置成调度服务的状态和/或服务的完成。例如,在有时限的服务(如测量白天的空气质量) 中,SCM 131可以被配置成在每一天结束来调度空气质量传感器读数的停止。
[0046] 在各种实施例中,S0L 130还可以包括网络编制器133( "N0 133"),该编制器可以 被配置成配置、管理和监测由SOMS 100管理的通信网络。在各种实施例中,NO 133可以被配 置成(例如)当新的服务被部署时执行网络的动态重新配置。在各种实施例中,SOL 130还可 以包括通信模块135( "CM 135"),该模块可以被配置成监测和管理装置和S0MS 100之间的 通信。
[0047] S0L 130可以包括装置管理器137("DVM 137"),该管理器可以被配置成管理所部 署装置,如Ι〇Τ装置。DVM 137可以被配置成从PS 150访问、收集和/或检索数据,如系统诊断 和性能测量值、状态、可靠性等。DVM 137还可以被配置成从其在PS 150上访问的数据推导 信息。DVM 137可以被配置成如通过分析装置或服务相关的日志或错误或事件来基于其在 PS 150上访问或从PS 150接收的数据执行业务逻辑。因此,例如,DVM 137可以分析存储在 PS 150上的日志文件并且基于例如在那里发现的相关错误或事件来生成业务逻辑。在各种 实施例中,这样的业务逻辑可以导致例如控制消息由DVM 137发起并经由多协议消息传送 管理器139路由以导致来自装置(如已根据日志或错误分析被检测为在执行中的装置)的服 务的去激活和移除。可以从装置管理器发起的其他控制消息的示例可以包括与服务相关的 命令消息,如导致一个或多个装置到服务装置池的添加和这些装置的激活的控制消息。在 另一示例中,控制消息可以导致分配给服务装置池的装置资源的大小调整(例如,以允许一 个或多个装置支持多个服务)。从装置管理器发起的控制消息的进一步的示例可以包括致 动消息。
[0048] DVM 137也可以被配置成使装置在线和离线、提供软件更新、调度装置重新引导、 调度装置的周期性测试、发起导致装置配置和维护被执行的控制消息等。在各种实施例中, 可以由DVM 137基于PS 150上可用的数据的分析或独立于这样的分析来触发和/或发起上 面所描述的示例。DMV 137还可以被配置成如基于上面所描述的分析向PS 150提供数据更 新。在替代实施例中,DVM 137还可以如经由控制消息来请求装置向PS 150或向DVM 137发 送数据,如系统诊断和性能测量值、状态、可靠性等,该DVM转而可以将这样的数据发送到PS 150。在其他替代实施例中,DVM 137可以通过其他方法从其他装置收集或接收数据(如系统 诊断和性能测量值、状态、可靠性等)并且使用这样的数据来更新持久性存储设备150。可以 从主动向DVM 137发送数据的装置接收或通过装置对来自DVM 137的对数据的请求进行回 复来接收这样的数据。
[0049] 在各种实施例中,服务配置简档可以包括一个或多个配置项目,如传感器占空比, 其可以指定传感器数据从装置到S0MS 100的上载的定时和/或规律性(例如,报告间隔)。在 各种实施例中,这样的配置项目可以通过从DVM 137发起到装置的控制消息来设置。如这些 示例所示,配置项目和服务配置简档可以通过从DVM 137发起到装置的一个或多个控制消 息来设置。
[0050] 在各种实施例中,S0L 130还可以包括多协议消息传送管理器("ΜΜΜ 139"),该管 理器可以被配置成管理装置和S0MS 100之间的消息。例如,MMM 139可以被配置成向装置调 度控制消息以及管理这些装置和S0MS 100之间的数据,如遥测消息、可执行文件、事件等。 MMM 139还可以被配置成管理服务有效载荷数据,例如度量测量值、传感器测量值等。在各 种实施例中,服务有效载荷数据可以从装置发送到MMM 139。在各种实施例中,MMM 139可以 被配置成处理消息,包括(但不限于)服务有效载荷消息、遥测消息、可执行文件、致动信息、 服务命令消息。消息可以包括或包封关于服务简档消息(其可以包括关于服务配置简档的 信息或消息)和/或网络配置简档(其可以包括如相关联配置项目和相关可执行文件等信 息)、通用1〇(如导出的模拟引脚、导出的数字引脚等)、每秒上下文切换的数量的信息以及 配置信息。在各种实施例中,MMM 139可以将来自装置的信息发送到PS 150。在各种实施例 中,MMM 139可以被配置成通过REST、消息队列遥测传输("MQTT")和/或安全复制协议 ("SCP")以及其他协议来管理消息。
[0051]图2和图3展示了根据各种实施例的用于向所部署装置编制和/或管理服务的示例 性过程200。虽然图2和图3展示了过程200的特定示例性操作,但是在各种实施例中,过程 200可以包括附加的操作,省略所展示的操作,和/或组合所展示的操作。在各种实施例中, 过程200可以由S0MS 100的一个或多个实体来执行。
[0052]该过程可以在操作1处开始,在该操作中,可以如由UAM 115执行用户凭证检查。在 各种实施例中,在操作1处,用户可以被允许创建简档和/或对照先前创建的简档来检查凭 证。另外,在一些实施例中,比如,如果用户通过UAM 115的配置被允许作为访客访问S0MS 100,则可以不执行凭证检查。接着,在操作2处,UI 118可以向用户呈现服务目录。在各种实 施例中,服务目录可以包括先前已被生成和/或修改的一个或多个服务。在各种实施例中, 服务目录可以包括被保持在MDC 155中的一个或多个服务的列表。因此,在各种实施例中, 子操作210可以从PS 150并且更具体地从MDC 155和/或0S 158检索一个或多个服务的此列 表。
[0053]接着,在操作3处,用户可以从服务目录选择一个或多个新服务。在子操作220处, S0MS可以从PS 150并且具体地从MDC 155和/或0S 158检索服务细节。可以通过UI 118将这 些服务细节呈现给用户。在各种实施例中,在子操作220处所检索的服务细节可以包括从所 部署装置接收的信息。在各种实施例中,这样的信息可以包括可以从装置发送到S0MS 100 的装置遥测信息(例如,磁盘空间、CPU使用、核心温度、数据吞吐量水平、网络接口、正在使 用的RAM的量、负荷平均等)。在各种实施例中,所检索的装置信息还可以包括如服务元数据 等信息,这些服务元数据可以从装置发送到S0MS 100并且可以包括如(但不限于)装置的传 感器信息(例如,装置包括或与其接口连接的传感器类型)和装置的任务信息(例如,正在运 行的任务、估计完成时间、用于运行进一步的任务的容量等)等信息。
[0054]在各种实施例中,可以从S0MS 100已知的这些度量或数据来精简或提取提供给用 户的服务细节。例如,可以向用户呈现特定部署区域中的在线并且可用的装置的百分比,而 不一定呈现关于每个特定装置的信息。
[0055]在各种实施例中,在从装置接收到装置信息时,可以将装置信息存储在PS 150中, 并且更具体地,存储在0S 158中。在各种实施例中,历史装置和服务相关的信息可以持续存 在于MDC 155中和/或0S 158中,包括服务的多个版本和配置。在各种实施例中,可以将所获 得的装置和服务信息包封和存储在如服务编制语言对象("S0L")中。在各种实施例中,S0L 可以包括JavaScript对象符号/可扩展标记语言("JS0N/XML")对象。因此,在各种实施例 中,可以被呈现给用户的服务目录和服务细节可以基于可从先前部署的服务获得的历史信 息和来自用户具有的在Ι〇Τ基础设施140中可用的装置的历史信息。在各种实施例中,因此 可以使呈现给用户的服务目录适合于用户的可用Ι〇Τ基础设施140。
[0056] 继续到操作4,可以如通过UI 118向用户呈现服务部署选项。在各种实施例中,可 以通过操作5来通知这些服务部署选项,在该操作中,可以执行服务适用性分析。在各种实 施例中,可以由MM 125来执行服务适用性分析。在各种实施例中,操作5可以利用子操作220 和230,其可以从PS 150检索数据以供分析,以及在子操作240处对存储在PS 150处的数据 执行更新。在下面参考图4的过程400对操作5处的服务适用性分析的执行的附加示例性实 现细节进行描述。
[0057] 现在参考图9至图11,其展示了用于使服务目录和服务部署选项可视化的示例性 UI 118。在图9的示例中,服务目录910被展示具有多个用户服务界面元素921至925。如所展 示,服务用户界面元素921至925中的每个服务用户界面元素各自展示可以在一个或多个所 部署装置上执行的不同的服务。虽然图9的特定示例展示服务目录910中的服务被呈现为图 形图标,但是在其他实施例中,UI 118可以提供服务的文本描述以及服务细节。除了服务目 录910,图9中的UI 118还展示已在其中部署多个装置的地理区域的示例性图930。在各种实 施例中,这些装置可以被部署在特定服务区域中,例如期望在那里操作服务的区域;这样的 服务区域可以与特定地理区域重合,但不一定需要这样。这些装置在图9中使用装置用户界 面元素940来表示。在图9的示例中,装置用户界面元素中的每个装置用户界面元素被示为 空白,因为没有服务已被选择用于显示。相比之下,在图10中,用户已经选择了服务用户界 面元素921,该元素对应于交通监控服务。在选择之后,在图10中,UI 118展示可以在交通监 控服务中利用由装置用户界面元素940表示的装置中的每个装置。继续到图11,用户现在也 已经选择了服务用户界面元素922,该元素对应于数字标牌服务。在这个示例中,不是每一 个所部署装置都具有在数字标牌服务中要使用的所需的能力。因此,在选择服务用户界面 元素922之后,在图11中,UI 118展示在所选数字标牌服务的操作中可以仅利用由装置用户 界面元素945表示的装置。因此各种实施例可以使得能够编制多个服务,在上面的示例中, 如交通监控服务和数字标牌服务。这样的编制可以优化或改善可用基础设施的共享以用于 用户期望的服务。在装置具有多个所选服务所需的能力的各种实施例中,则单个装置资源 也可以被编制来递送这些服务,从而使一个或多个单个装置能够运行多个服务。可以认识 到,虽然参考服务的选择和部署提供图9至图11的示例,但是在其他实施例中,可以利用类 似UI 118来使主动操作的服务可视化,或者向用户呈现其他信息。
[0058] 返回图2和图3,在操作6处,用户可以定制服务(如果他们希望的话)。在各种实施 例中,定制可以包括与服务的操作相关联的一个或多个参数(包括定时参数、数据测量指 令、传感器类型、计算指令等)的修改。在各种实施例中,如果用户选择定制服务,那么过程 可以返回到其中可以再次执行服务适用性分析的操作5。在各种实施例中,用户可能不会在 操作6处定制服务并且过程可以省略该操作。
[0059] 在决策操作7处,用户可以决定他们是否希望部署服务。可以由S0MS 100(例如)通 过UI 118向用户询问来提示该决策。如果用户不希望部署服务,则过程可以返回到操作2, 在该操作中,用户可以检查可用服务和选择替代服务。然而,如果用户希望部署服务,那么 可以在操作8处对服务进行组合,使得其可以如由SM 123部署到各种所部署装置上并在其 上进行操作。在各种实施例中,在操作8处,可以创建服务和网络配置简档以及用于在服务 的操作中使用的每个装置的S0L文件。在下面参考图5的过程500对服务组合的特定示例进 行描述。在替代实施例中,不是在部署服务的决定之后发生,操作8的服务组合可以在用户 确认他们希望部署服务之前发生。
[0060] 在服务的组合之后,过程可以进行到操作9,在该操作中,SCM 131可以调度服务部 署。在各种实施例中,服务的调度可以包括排队机制。在其他实施例中,调度可以包括按需 机制。在各种实施例中,调度可以被配置成实现服务部署和重新配置两者。接着,在操作10 处,可以将服务部署到装置。在各种实施例中,部署可以包括将可执行文件传输到可以操作 服务的所部署装置。在各种实施例中,这些可执行文件可以是可以在所部署装置上本地执 行的二进制。在其他实施例中,可执行文件可以包括非本地代码,如可以在装置中的一个或 多个装置上的解释器或即时编译器中运行。在各种实施例中,可执行文件可以包括由SOMS 100保持在如PS 150上以部署到装置的二进制。在其他实施例中,DM 128可以被配置成与部 署相联系来编译二进制变体。在各种实施例中,不同种类的装置可以具有部署到它们的不 同的二进制,这可以更好地满足装置系统和资源。另外,在服务部署过程中,配置项目可以 被发送到装置;例如,SOMS 100可以配置装置将使用的网络接口、传感器占空比等。在下面 参考图6的过程600对服务部署的特定示例进行讨论。在部署之后,在操作11处,UI 118可以 向用户呈现部署结果。这样的结果可以包括服务被部署到其上的装置的数量和/或身份、估 计完成时间、成功完成的可能性等。
[0061] 接着,在操作12处,服务可以开始操作。在操作过程中,服务被部署到其上的所述 一个或多个装置可以执行由服务指示并且具体由部署到一个或多个装置的可执行文件和/ 或配置项目指示的活动。活动可以包括传感器数据的检索、数据的存储、关于所收集的数据 的计算、装置之间的M2M通信、将数据发送到网关等。在各种实施例中,SM 131可以如通过指 示各个装置处的服务活动的执行的调度来控制服务操作。在操作13处,S0MS 100可以向用 户呈现来自服务的操作的结果。这样的结果可以包括表示来自服务和/或错误消息的结果 或计算的数据。接着,在操作14处,S0MS 100如通过UI 118可以征求来自用户的反馈,并且 反馈可以被接收。在各种实施例中,所接收的反馈可以与部署并操作的服务和/或在其上部 署了服务的装置中的一个或多个装置相关。可以在子操作350处将所接收的反馈发送到PS 150,例如,以帮助用户或其他用户在将来选择服务。接着,在决策操作15处,用户可以判定 他们是否希望选择和部署另一个服务。如果是,则过程可以返回到操作2。如果不是,则过程 可以结束。
[0062] 图4展示了根据各种实施例的用于在操作5处执行服务适用性分析的示例性过程 400。虽然图4展示了过程400的特定示例性操作,但是在各种实施例中,过程400可以包括附 加的操作,省略所展示的操作,和/或组合所展示的操作。在各种实施例中,例如由MM 125执 行服务适用性分析,以分析和估计Ι〇Τ基础设施140支持预定服务(如在操作3和/或4处选择 和/或在操作6处由用户修改的预定服务)的能力。在子操作5a(图2和图3的子操作230)处, 可以从PS 150检索进行分析所需的数据。
[0063] 在子操作5b处,MM 125可以分析IoT基础设施140来确定IoT基础设施140支持最低 服务要求的适用性。在各种实施例中,这些确定可以基于在子操作210处所检索的服务细节 以及在子操作5a处所检索的装置数据。在各种实施例中,在子操作5b处,ΜΜ 125可以判定 IoT基础设施是否可以支持在将在那里部署服务的特定预定地理区域内的服务。例如,MM 125可作为子操作5b的分析的一部分确定期望路线上的点和可被用于服务执行的一个或多 个装置的位置之间的欧几里得距离。因此,MM 125可以计算:
[0064]
[0065]其中X[n]dPx[nL是表示为复数值数的装置位置的相应实分量和虚分量,r[nL和 r[nL是表示为复数值数的所期望装置位置的相应实分量和虚分量,并且d[n]st是所计算的 欧几里德距离。
[0066]使用这种计算,MM 125然后可以通过下式的计算来选择具有到期望的装置位置的 最小计算欧几里得距离的节点:
[0067]
[0068] 其中d是上面所计算的值的欧几里德距离阵列并且K[n]是其中每个所选节点位置 与最小欧几里德距离相关联的所选择节点阵列的第η个元素。现在参考图8,示例性图810示 出为选择了装置835,这些装置使到期望在其上计算服务的优选路线825的距离最小化。本 领域的技术人员将了解,仅为了示例性目的提供用于计算欧几里得距离的公式并且可以在 不脱离本公开的精神和意图的情况下使用其他公式(用于此功能或另一种类型的功能)。
[0069] 返回到图4,ΜΜ 125也可以确定IoT基础设施140支持服务特性的适用性。例如,第 一反应者应急通信网络可能要求低等待时间、高吞吐量通信,而传感器应用可以被配置成 耐受较低的吞吐量和更高的网络等待时间。在各种实施例中,可以关于所有所部署装置或 仅关于所部署装置的子集(如当前正在操作或当前不太忙于其他任务的那些装置)来执行 子操作5b处的确定。
[0070] 在决策子操作5c处,MM 125可以判定是否可以满足最低服务要求。如果不满足最 低服务要求,则过程可以进行到决策子操作5g,在该操作中,可以判定用户是否希望定制服 务(如通过使用UI 118的用户询问)。如果希望定制服务,则S0MS 100可以进行到操作6以执 行定制。如果不希望定制服务,则S0MS 100可以进行到操作3,在该操作中,用户可以选择新 的服务。但是,如果在决策子操作5c处MM 125判定IoT基础设施不满足最低服务要求,则在 子操作5d处,MM 125可以分析IoT基础设施140中的可用装置的历史性能。这种分析可以包 括单个装置性能度量、可靠性、数据吞吐量、连接、适合于传感器驱动的服务的传感器的可 用性等的分析。在各种实施例中,此数据可以持续存在于PS 150的MDC 155和/或0S 158中 并且在子操作5a处被检索。接着,在子操作5e处,MM 125可以投射在IoT基础设施上部署服 务的成本估计和/或服务适用性度量。在各种实施例中,成本估计可以包括为了利用特定装 置而产生的实际成本的确定。在其他实施例中,服务适用性度量可以包括任何所得数据可 以对用户如何有价值或适合的确定。例如,可以关于可用装置存储足够的数据的能力来计 算度量以确定特定结果的统计学显著的结果,或在期望的时间段期间捕获数据。
[0071] 在各种实施例中,为了计算服务适用性度量,MM 125可以计算对应于聚集设计性 能和适用性值的节点度量的标准化总和。MM 125因此可以计算:
[0072]
[0073]
[0074]
[0075] 其中:11[)表示所选装置功率可用性的标准化聚集品质因数;Mr表示所选装置可靠性 的标准化聚集品质因数;M。表示所选装置连接的标准化聚集品质因数;M[n] P、M[n]r和M[n]。 分别表示第η个所选装置的功率、可靠性和连接度量;并且W P、Wr和W。表示施加到装置度量中 的每个装置度量的功率、可靠性和连接权重。例如,关于权重,对于需要高度连接的装置的 网络的服务,该服务可以具有施加到连接的较高的权重。
[0076] 在计算单个聚集装置度量之后,可以对单个度量进行平均以产生可用IoT基础设 施140支持预定服务的能力的整体估计服务适用性度量Μ:
[0077]
[0078] 其中,_是聚集装置度量的数量(在给定的示例中为3)。
[0079] 在子操作5e处确定成本和/或服务适用性度量数字之后,在子操作5f处,ΜΜ 125可 以使用来自分析的数据来更新PS 150。然后操作5可以结束。本领域的技术人员将了解,仅 为了示例性目的提供用于计算服务适用性度量的公式并且可以在不脱离本公开的精神和 意图的情况下使用其他公式(用于此功能或另一种类型的功能)。
[0080] 图5展示了根据各种实施例的用于在操作8处执行服务组合的示例性过程500。虽 然图5展示了过程500的特定示例性操作,但是在各种实施例中,过程500可以包括附加的操 作,省略所展示的操作,和/或组合所展示的操作。在各种实施例中,SM 123可以执行过程 500的一个或多个操作。在操作8过程中,在子操作8a处,可以为服务创建服务配置简档。在 各种实施例中,服务配置简档可以由一个或多个服务配置项目组成。通过指定或设置一个 或多个服务配置项目,可以定制相关联服务配置简档。可以将服务配置简档(其可以使得能 够指定每个服务的配置项目)与网络配置简档(其可以使得能够指定网络配置参数)以及其 他信息相组合以指定或定制服务简档。在各种实施例中,服务配置简档可以包括(例如)如 服务名称、服务的持续时间等信息以及一个或多个装置的信息,如装置地址、要上载的可执 行文件的指示(例如,文件名)、传感器占空比指示符等。可以在子操作8c处看到这样的信息 的示例,其中显示了包含多个装置的信息的S0L;在下面更详细地描述子操作8c。
[0081] 在可以形成服务配置简档的一部分的配置项目的一个示例中,可以指示传感器占 空比。传感器占空比配置项目可以被设置成指定传感器数据从装置的上载的规律性度量。 例如,在空气质量服务中,一个地理区域中的空气质量感测装置可以被配置成每分钟上传 数据一次,而在另一个地理位置,这样的感测装置可以被配置成每小时上传数据一次或每 天上传数据一次等。在另一示例中,配置项目可以指定数据在发送到S0MS 100之前应该被 聚集。
[0082] 在另一示例中,配置项目可以指定感测装置向MMM 139发送的数据。例如,配置项 目可以指定针对特定服务所设置的度量标签。在又一示例中,配置项目可以指定装置上的 本地数据管理,该管理指定(例如)日志文件被允许变为多大、应该保持多少日志文件、日志 旋转、本地数据管理周期的每次运行之间的时间间隔等。
[0083] 接下来,在操作8b处,可以为服务创建网络配置简档,其可以指示网络的配置来支 持将在其上部署服务的所选装置之间的M2M通信。网络配置简档的配置项目的示例可以指 定装置将使用来向网关发送数据的网络通信协议或接口,例如WiFi、蜂窝、光纤、以太网和/ 或其他合适的通信方法。在各种情况下,不同的协议可以被指定,因为有些服务可能会比其 他服务要求更高的网络吞吐量或者更低的等待时间。因此,高频时间关键的服务可以利用 高网络吞吐量和低等待时间,而在替代服务中,较低的网络吞吐量和较高的等待时间可能 是足够的。例如,第一反应者紧急通信网络可能要求低等待时间、高吞吐量通信,而传感器 应用可以被配置成耐受较低的吞吐量和更高的网络等待时间。因此,网络配置项目可以促 进服务简档的定制以将装置配置成使用最适合于服务的网络通信协议或接口。
[0084]另外,在子操作8c处,可以为服务创建S0L文件,该文件可以包括子过程8a的输出 和子过程8b的输出。在各种实施例中,可以将服务配置简档(其可以使得能够指定每个服务 的配置项目,包括要上载的可执行文件的指示)与网络配置简档(其可以使得能够指定每个 网络的配置项目)相组合以使得能够指定或定制服务简档。在各种实施例中,S0L可以包括 服务级别信息,如服务名称、开始时间、条件开始指令、延迟开始指令和/或与服务相关联的 存活时间。S0L还可以包括将与服务一起使用的装置的条目,如装置地址、运行时间、可执行 文件、网络接口、占空比等。在各种实施例中,S0L可以包括XML文件或者可以被包封并存储 为对象,该对象可以(例如)是JS0N/XML对象。
[0085]图6示出了根据各种实施例的用于执行服务部署的示例性过程600。虽然图6展示 了过程600的特定示例性操作,但是在各种实施例中,过程600可以包括附加的操作,省略所 展示的操作,和/或组合所展示的操作。在各种实施例中,DM 128可以执行过程600的一个或 多个操作。该过程可以在操作1 〇a处开始,在该操作中,DM 128可以迭代通过在服务组合所 创建的S0L,并且具体地迭代通过S0L文件中的装置的列表。在操作10b处,DM 128可以将来 自S0L的可执行文件以及配置项目部署到其所相关联的特定装置并且发出用于操作每个装 置上的服务的指令。接着,在操作l〇c处,DM 128可以接收无法针对其部署服务的装置的信 息和指示服务装置部署状态的响应。在各种实施例中,该响应可以实现为(例如)XML、JS0N 等。可以在操作11处将这些结果呈现给用户,如上面所讨论的。然后过程600可以结束。在一 个实施例中,在服务部署过程中,可以部署在步骤8a处所创建的服务配置简档(在图5中展 示)和在步骤8b处所创建的网络配置简档(在图5中展示)。在服务部署过程中,DVM 137可以 连接到S0L中所指示的每个装置并且可以向这些装置传送可执行文件和配置指令。因此,在 各种实施例中,例如在服务部署,可以通过从DVM 137发起的一个或多个控制消息来部署一 个或多个服务的服务简档,这些简档可以包括服务配置简档和/或网络配置简档以及相关 联配置参数和相关可执行文件。可以将这些控制消息部署到一个或多个装置并且可以发出 指令以在每个装置上操作所述一个或多个服务。在各种实施例中,指令可以被包封在配置 参数中或可以独立于它们被保持;在其他实施例中,可以使用配置参数和其他技术的组合。 除了在服务部署过程中使用,服务命令消息/服务简档消息(例如,包括关于服务配置简档 和/或网络配置简档的信息或消息的消息)也可以在其他适用的阶段期间发送到装置。例 如,可以在服务操作过程中发送服务命令消息/服务简档消息。在一个这样的示例中,DVM 137在分析其在PS 150上访问或从PS 150接收的数据时可以确定一个或多个装置应该改变 为不同的网络通信协议或接口。然后DVM 137可以发起包封指定装置将使用来向网关发送 数据的网络通信协议或接口的网络配置简档的配置项目的服务命令消息。这样的服务命令 消息可以导致该装置被配置成开始使用该指定的接口来向网关发送数据。
[0086]图7展示了根据各种实施例的所部署装置710和服务编制和/或管理系统的部件之 间的示例性通信。在各种实施例中,多个装置710(例如,用户装置、感测装置、致动器装置 等)可以用于服务的操作。在各种实施例中,这些装置可以与网关720进行经由异构通信方 法(例如,IEEE 802.11、IEEE 802.15.4)的有线和/或无线通信。网关720可以经由网络730 (如回程网络,包括但不限于WiFi、蜂窝、光纤、以太网或其他合适的通信方法)与MMM 139进 行通信。在各种实施例中,代理(如服务编制代理)可以在图7中所展示的装置710中的一个 或多个装置上安装并且可以与S0MS(未展示)进行通信。
[0087]如上面所讨论的,MMM 139可以被配置成用于在所有装置和服务编制之间的控制 平面上管理调度控制消息。MMM 139也可以管理装置和服务编制之间的数据,如可以从装置 发送到MMM 139的遥测消息(例如,度量测量值、传感器测量值等)、服务的可执行文件、事件 等。因此,MMM 139可以处理多种不同类型的消息,包括服务有效载荷消息、遥测消息、致动 消息、服务命令消息。如上面所讨论的,服务命令消息可以(例如)包括或包封关于服务简档 消息(其可以包括关于服务配置简档和/或网络配置简档的信息或消息)的消息。MMM 139可 以被配置成向PS 150提供服务有效载荷和遥测信息、控制信息、事件信息和其他信息以进 行存储,以及从D VM 13 7接收消息以递送到一个或多个装置。例如,如上面所讨论的,MMM 139可以从被配置成使装置在线和离线、提供软件更新、调度装置重新引导、调度装置的周 期性测试、发起导致装置配置和维护被执行的控制消息等的DVM 137接收消息。
[0088]现在参考图12,根据各种实施例展示了适合于实施本公开的各个方面(包括图2至 图7的过程)的示例性计算机。如图所示,计算机1200可以包括一个或多个处理器或者处理 器核心1202和系统存储器1204。为了本申请(包括权利要求书)的目的,术语"处理器"和"处 理器核心"可以被认为是同义的,除非上下文另外明确要求。另外,计算机1200可以包括大 容量存储装置1206(如磁盘、硬盘驱动、光盘只读存储器(CD-ROM)等等)、输入/输出装置 1208(如显示器、键盘、光标控制、远程控制、游戏控制器、图像捕获装置等等)以及通信接口 1210(如网络接口卡、调制解调器、红外线接收器、无线电接收器(例如,蓝牙)等等)。这些元 件可以经由系统总线1212相互耦接,该系统总线可以表示一个或多个总线。在多个总线的 情况下,它们可以通过一个或多个总线桥(未示出)桥接。
[0089]这些元件中的每个元件可以执行其在本领域中已知的常规功能。具体地,系统存 储器1204和大容量存储装置1206可以被用来存储实现与服务的编制和/或管理相关联的操 作的编程指令的工作副本和永久副本(统称为计算逻辑1222)。各个元件可以通过处理器 1202所支持的汇编指令或可以编译成这样的指令的高级语言(例如,C语言)来实现。
[0090] 编程指令的永久副本可以在工厂中或在现场通过(例如)分发介质(未示出)(如压 缩盘(CD))或者通过通信接口 1210(从分发服务器(未示出))被放置到永久存储装置1206 中。也就是说,可以采用具有代理程序的实现的一个或多个分发介质来分发代理和对各种 装置进行编程。
[0091] 这些元件1210至1212的数量、能力和/或容量可以变化。它们的构成是另外已知 的,因此将不进行进一步的描述。
[0092] 图13展示了根据各种实施例的具有被配置成实施与服务的编制和/或管理相关联 的操作中的全部操作或所选操作的指令的示例性至少一个计算机可读存储介质1302。如图 所示,至少一个计算机可读存储介质1302可以包括多个编程指令1304。编程指令1304可以 被配置成使装置(例如,计算机1200)能够响应于编程指令的执行而执行(例如)图2至图7的 过程的各种操作。在替代实施例中,可以替代地将编程指令1304布置在多个至少一个计算 机可读存储介质1302上。计算机可读存储介质1302的示例可以包括许多已知的非瞬态持久 性存储介质中的一种。在替代实施例中,计算机可读存储介质1302可以包括瞬态介质,如信 号。
[0093] 返回参考图12,对于一个实施例,处理器1202中的至少一个可以与具有被配置成 用于实施图2至图7的过程的方面的计算逻辑1222的存储器一起封装。对于一个实施例,处 理器1202中的至少一个可以与具有被配置成用于实施图2至图7的过程的方面的计算逻辑 1222的存储器一起封装以形成系统级封装(SiP)。对于一个实施例,处理器1202中的至少一 个可以与具有被配置成用于实施图2至图7的过程的方面的计算逻辑1222的存储器集成在 同一裸片上。对于一个实施例,处理器1202中的至少一个可以与具有被配置成用于实施图2 至图7的过程的方面的计算逻辑1222的存储器一起封装以形成片上系统(SoC)。对于至少一 个实施例,SoC可以用于(例如但不限于)计算平板计算机中。
[0094]已经对本公开的各种实施例进行了描述。这些实施例包括但不限于在以下段落中 所描述的那些。
[0095] 示例1可以包括一种用于促进所部署装置的使用的系统。所述系统可以包括一个 或多个计算处理器。所述系统还可以包括服务编制逻辑,所述服务编制逻辑用于在所述一 个或多个计算处理器上进行操作以:获得一个或多个所部署装置的数据;以及确定所述一 个或多个装置的能力。所述系统还可以包括服务管理逻辑,所述服务管理逻辑用于在所述 一个或多个计算处理器上进行操作以:确定将由所述一个或多个所部署装置中的所选装置 执行的服务;从所述一个或多个所部署装置选择所述所选装置;以及将所述服务部署到所 述一个或多个所选装置以执行所述服务。
[0096] 示例2可以包括示例1的系统,其中,所述服务编制逻辑可以用于通过收集所述一 个或多个所部署装置的遥测信息来获得数据。
[0097] 示例3可以包括示例2的系统,其中,所述遥测信息可以包括以下各项中的一项或 多项:存储空间、处理器使用、温度、数据吞吐量、网络能力、存储器使用和负荷平均。
[0098] 示例4可以包括示例1的系统,其中,所述服务编制逻辑可以用于通过收集所述一 个或多个所部署装置的服务有效载荷信息来获得数据。
[0099] 示例5可以包括上述系统示例中任一项的系统,其中,所述服务编制逻辑可以用于 通过收集所述一个或多个所部署装置的服务元数据的来获得数据。
[0100] 示例6可以包括示例5的系统,其中,所述服务元数据可以包括以下各项中的一项 或多项:当前正在操作的任务的标识、用于运行附加任务的容量、估计的任务完成时间以及 装置所连接到的传感器类型。
[0101] 示例7可以包括上述系统示例中的任一项的系统,其中,所述服务管理逻辑可以进 一步用于执行服务适用性分析以确定所述一个或多个所部署装置执行所述服务的适用性。
[0102] 示例8可以包括示例7的系统,其中,所述服务管理逻辑可以用于通过以下各项中 的一项或多项的分析来执行所述服务适用性分析:所述一个或多个所部署装置的地理位 置、所述一个或多个所部署装置执行所述服务的特性的能力和所述一个或多个所部署装置 的历史性能。
[0103] 示例9可以包括上述系统示例中的任一项的系统,其中,所述服务管理逻辑可以用 于通过服务描述符的生成来部署所述服务。
[0104] 示例10可以包括示例9的系统,其中,所述服务描述符可以包括所述服务的标识。
[0105] 示例11可以包括示例9的系统,其中,所述服务描述符可以包括所述所选装置中的 每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的可执行文件。
[0106] 示例12可以包括示例11的系统,其中,服务管理逻辑可以进一步用于通过将所述 可执行文件部署到所述所选装置来部署所述服务。
[0107] 示例13可以包括示例9的系统,其中,所述服务描述符可以包括所述所选装置中的 每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的配置信息。
[0108] 示例14可以包括示例9的系统,其中,所述服务描述符可以包括用于指示不同的装 置来执行不同的活动的指令。
[0109] 示例15可以包括示例14的系统,其中,所述服务描述符对于第一装置可以包括用 于执行与当执行先前服务时由所述第一装置先前执行的活动不同的活动的指令。
[0110] 示例16可以包括上述系统示例中的任一项的系统,其中,所述所选服务可以是第 一服务并且所述服务管理逻辑可以用于针对不同于所述第一服务的第二服务重复相对于 所述一个或多个所部署装置的确定、选择和部署。
[0111] 示例17可以包括示例17的系统,其中,可以在所述一个或多个所部署装置中的第 一组所选装置上操作所述第一服务,可以在所述一个或多个所部署装置中的第二组所选装 置上操作所述第二服务,并且所述第一组所选装置和所述第二组所选装置可以是不同的。
[0112] 示例18可以包括上述系统示例中的任一项的系统,其中,所述服务管理逻辑可以 用于通过以下各项来确定服务:
[0113]向用户呈现服务选项;以及
[0114] 从所述用户接收所选服务。
[0115] 示例19可以包括上述系统示例中的任一项的系统,其中,所述服务管理逻辑可以 进一步用于通过从用户处接收对服务的修改来确定服务。
[0116] 示例20可以包括上述系统示例中任一项的系统,其中,所述服务编制逻辑可以用 于从在所述一个或多个所部署装置上操作的代理获得数据。
[0117] 示例21可以包括包含在其上写入的指令的一个或多个非瞬态计算机可读介质,所 述指令响应于在计算系统上的执行而可以使所述计算系统促进所部署装置的使用。所述指 令可以使所述计算系统:获得一个或多个所部署装置的数据;确定所述一个或多个装置的 能力;确定将由所述一个或多个所部署装置中的所选装置执行的服务;从所述一个或多个 所部署装置选择所述所选装置;以及将所述服务部署到所述一个或多个所选装置以执行所 述服务。
[0118] 示例22可以包括示例21的非瞬态计算机可读介质,其中,获得数据可以包括收集 所述一个或多个所部署装置的遥测信息。
[0119] 示例23可以包括示例22的非瞬态计算机可读介质,其中,所述遥测信息可以包括 以下各项中的一项或多项:存储空间、处理器使用、温度、数据吞吐量、网络能力、存储器使 用和负荷平均。
[0120] 示例24可以包括示例21的非瞬态计算机可读介质,其中,获得数据可以包括收集 所述一个或多个所部署装置的服务有效载荷信息。
[0121] 示例25可以包括示例21-24中的任一项的非瞬态计算机可读介质,其中,获得数据 可以包括收集所述一个或多个所部署装置的服务元数据。
[0122] 示例26可以包括示例25的非瞬态计算机可读介质,其中,所述服务元数据可以包 括以下各项中的一项或多项:当前正在操作的任务的标识、估计的任务完成时间、用于运行 附加任务的容量以及装置所连接到的传感器类型。
[0123] 示例27可以包括示例21-26中的任一项的非瞬态计算机可读介质,其中,所述指令 可以进一步用于使所述计算系统执行服务适用性分析以确定所述一个或多个所部署装置 执行所述服务的适用性。
[0124] 示例28可以包括示例27的非瞬态计算机可读介质,其中,执行所述服务适用性分 析可以包括分析以下各项中的一项或多项:所述一个或多个所部署装置的地理位置、所述 一个或多个所部署装置执行所述服务的特性的能力和所述一个或多个所部署装置的历史 性能。
[0125] 示例29可以包括示例21-28中的任一项的非瞬态计算机可读介质,其中,部署所述 服务可以包括生成服务描述符。
[0126] 示例30可以包括示例29的非瞬态计算机可读介质,其中,所述服务描述符可以包 括所述服务的标识。
[0127] 示例31可以包括示例29的非瞬态计算机可读介质,其中,所述服务描述符可以包 括所述所选装置中的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置 的可执行文件。
[0128] 示例32可以包括示例31的非瞬态计算机可读介质,其中,部署所述服务可以包括 将所述可执行文件部署到所述所选装置。
[0129] 示例33可以包括示例29的非瞬态计算机可读介质,其中,所述服务描述符可以包 括所述所选装置中的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置 的配置信息。
[0130] 示例34可以包括示例29的非瞬态计算机可读介质,其中,所述服务描述符可以包 括用于指示不同的装置来执行不同的活动的指令。
[0131] 示例35可以包括示例34的非瞬态计算机可读介质,其中,所述服务描述符对于第 一装置可以包括用于执行与当执行先前服务时由所述第一装置先前执行的活动不同的活 动的指令。
[0132] 示例36可以包括示例21-35中的任一项的非瞬态计算机可读介质,其中,所述所选 服务可以是第一服务并且所述指令可以进一步用于使所述计算系统针对不同于所述第一 服务的第二服务重复相对于所述一个或多个所部署装置的确定、选择和部署。
[0133] 示例37可以包括示例36的非瞬态计算机可读介质,其中,可以在所述一个或多个 所部署装置中的第一组所选装置上操作所述第一服务,可以在所述一个或多个所部署装置 中的第二组所选装置上操作所述第二服务,并且所述第一组所选装置和所述第二组所选装 置可以是不同的。
[0134] 示例38可以包括示例21-37中的任一项的非瞬态计算机可读介质,其中,确定服务 可以包括向用户呈现服务选项和从所述用户处接收所选服务。
[0135] 示例39可以包括示例21-38中的任一项的非瞬态计算机可读介质,其中,确定服务 可以包括从用户处接收对服务的修改。
[0136] 示例40可以包括示例21-39中的任一项的系统,其中,获得数据可以包括从在所述 一个或多个所部署装置上操作的代理获得数据。
[0137] 示例41可以包括一种用于促进所部署装置的使用的方法。所述方法可以包括:由 计算系统获得一个或多个所部署装置的数据;由所述计算系统确定所述一个或多个装置的 能力;由所述计算系统确定将由所述一个或多个所部署装置中的所选装置来执行的服务; 由所述计算系统从所述一个或多个所部署装置选择所述所选装置;以及由所述计算系统将 所述服务部署到所述一个或多个所选装置以执行所述服务。
[0138] 示例42可以包括示例41的方法,其中,获得数据可以包括收集所述一个或多个所 部署装置的遥测信息。
[0139] 示例43可以包括示例42的方法,其中,所述遥测信息可以包括以下各项中的一项 或多项:存储空间、处理器使用、温度、数据吞吐量、网络能力、存储器使用和负荷平均。 [0140]示例44可以包括示例43的方法,其中,获得数据可以包括收集所述一个或多个所 部署装置的服务有效载荷信息。
[0141]示例45可以包括示例41-44中的任一项的方法,其中,获得数据可以包括收集所述 一个或多个所部署装置的服务元数据。
[0142] 示例46可以包括示例45的方法,其中,所述服务元数据可以包括以下各项中的一 项或多项:当前正在操作的任务的标识、估计的任务完成时间、用于运行附加任务的容量以 及装置所连接到的传感器类型。
[0143] 示例47可以包括示例41-46中的任一项的方法,并且可以进一步包括所述计算系 统执行服务适用性分析以确定所述一个或多个所部署装置执行所述服务的适用性。
[0144] 示例48可以包括示例47的方法,其中,执行所述服务适用性分析可以包括分析以 下各项中的一项或多项:所述一个或多个所部署装置的地理位置、所述一个或多个所部署 装置执行所述服务的特性的能力和所述一个或多个所部署装置的历史性能。
[0145] 示例49可以包括示例41-48中的任一项的方法,其中,部署所述服务可以包括生成 服务描述符。
[0146] 示例50可以包括示例49的方法,其中,所述服务描述符可以包括所述服务的标识。
[0147] 示例51可以包括示例49的方法,其中,所述服务描述符可以包括所述所选装置中 的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的可执行文件。
[0148] 示例52可以包括示例51的方法,其中,部署所述服务可以包括将所述可执行文件 部署到所述所选装置。
[0149] 示例53可以包括示例49的方法,其中,所述服务描述符可以包括所述所选装置中 的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的配置信息。
[0150]示例54可以包括示例49的方法,其中,所述服务描述符可以包括用于指示不同的 装置来执行不同的活动的指令。
[0151]示例55可以包括示例54的方法,其中,所述服务描述符对于第一装置可以包括用 于执行与当执行先前服务时由所述第一装置先前执行的活动不同的活动的指令。
[0152] 示例56可以包括示例41-55中的任一项的方法,其中,所述所选服务可以是第一服 务并且所述方法可以进一步包括针对不同于所述第一服务的第二服务重复相对于所述一 个或多个所部署装置的确定、选择和部署。
[0153] 示例57可以包括示例56的方法,其中,可以在所述一个或多个所部署装置中的第 一组所选装置上操作所述第一服务,可以在所述一个或多个所部署装置中的第二组所选装 置上操作所述第二服务,并且所述第一组所选装置和所述第二组所选装置可以是不同的。
[0154] 示例58可以包括示例41-57中的任一项的方法,其中,确定服务可以包括向用户呈 现服务选项以及从所述用户接收所选服务。
[0155] 示例59可以包括示例41-58中任一项的方法,其中,确定服务可以包括从用户接收 对服务的修改。
[0156] 示例60可以包括示例41-59中任一项的方法,其中,获得数据可以包括从在所述一 个或多个所部署装置上操作的代理获得数据。
[0157] 示例61可以包括一种用于促进所部署装置的使用的系统。所述系统可以包括:用 于获得一个或多个所部署装置的数据的装置;用于确定所述一个或多个装置的能力的装 置;用于确定将由所述一个或多个所部署装置中的所选装置来执行的服务的装置;用于从 所述一个或多个所部署装置选择所述所选装置的装置;以及用于将所述服务部署到所述一 个或多个所选装置以执行所述服务的装置。
[0158] 示例62可以包括示例61的系统,其中,用于获得数据的装置可以包括用于收集所 述一个或多个所部署装置的遥测信息的装置。
[0159] 示例63可以包括示例62的系统,其中,所述遥测信息可以包括以下各项中的一项 或多项:存储空间、处理器使用、温度、数据吞吐量、网络能力、存储器使用和负荷平均。 [0160]示例64可以包括示例63的系统,其中,用于获得数据的装置可以包括用于收集所 述一个或多个所部署装置的服务有效载荷信息的装置。
[0161] 示例65可以包括示例61-64中的任一项的系统,其中,用于获得数据的装置可以包 括用于收集所述一个或多个所部署装置的服务元数据的装置。
[0162] 示例66可以包括示例65的系统,其中,所述服务元数据可以包括以下各项中的一 项或多项:当前正在操作的任务的标识、用于操作附加任务的容量、估计的任务完成时间以 及装置所连接到的传感器类型。
[0163] 示例67可以包括示例61-66中的任一项的系统,并且可以进一步包括用于执行服 务适用性分析以确定所述一个或多个所部署装置执行所述服务的适用性的装置。
[0164] 示例68可以包括示例67的系统,其中,用于执行所述服务适用性分析的装置可以 包括用于分析以下各项中的一项或多项的装置:所述一个或多个所部署装置的地理位置、 所述一个或多个所部署装置执行所述服务的特性的能力和所述一个或多个所部署装置的 历史性能。
[0165] 示例69可以包括示例61-68中的任一项的系统,其中,用于部署所述服务的装置可 以包括用于生成服务描述符的装置。
[0166] 示例70可以包括示例69的系统,其中,所述服务描述符可以包括所述服务的标识。
[0167] 示例71可以包括示例69的系统,其中,所述服务描述符可以包括所述所选装置中 的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的可执行文件。
[0168] 示例72可以包括示例71的系统,其中,用于部署所述服务的装置可以包括用于将 所述可执行文件部署到所述所选装置的装置。
[0169] 示例73可以包括示例69的系统,其中,所述服务描述符可以包括所述所选装置中 的每个所选装置的条目,所述条目包括所述所选装置中的每个所选装置的配置信息。
[0170] 示例74可以包括示例69的系统,其中,所述服务描述符可以包括用于指示不同的 装置来执行不同的活动的指令。
[0171] 示例75可以包括示例74的系统,其中,所述服务描述符对于第一装置可以包括用 于执行与当执行先前服务时由所述第一装置先前执行的活动不同的活动的指令。
[0172] 示例76可以包括示例61-75中的任一项的系统,其中,所述所选服务可以是第一服 务并且所述设备可以进一步包括用于针对不同于所述第一服务的第二服务重复相对于所 述一个或多个所部署装置的确定、选择和部署的装置。
[0173] 示例77可以包括示例76的系统,其中,可以在所述一个或多个所部署装置中的第 一组所选装置上操作所述第一服务,可以在所述一个或多个所部署装置中的第二组所选装 置上操作所述第二服务,并且所述第一组所选装置和所述第二组所选装置可以是不同的。
[0174] 示例78可以包括示例61-77中的任一项的系统,其中,用于确定服务的装置可以包 括用于向用户呈现服务选项的装置和用于从所述用户接收所选服务的装置。
[0175] 示例79可以包括示例61-78中的任一项的系统,其中,用于确定服务的装置可以包 括用于从用户处接收对服务的修改的装置。
[0176] 示例80可以包括示例61-79中的任一项的系统,其中,用于获得数据的装置可以包 括用于从在所述一个或多个所部署装置上操作的代理获得数据的装置。
[0177] 用于执行上述技术的计算机可读介质(包括至少一个计算机可读介质)、方法、设 备、系统和装置是本文所公开的实施例的说明性示例。另外,在上述的交互中的其他装置可 以被配置成执行各种所公开的技术。
[0178] 虽然已经为了描述的目的本文展示和描述了某些示例,可以在不脱离本公开的范 围的情况下用适合于实现相同目的的各种各样的替代和/或等效实施例或实现来代替所示 出和描述的实施例。本申请旨在覆盖本文所讨论的实施例的任何修改或变化。因此,显然意 图是,本文所描述的实施例仅由权利要求书来限定。
[0179] 当公开陈述"一个(a)"或"第一(a first)"元件或其等效物时,这样的公开包括一 个或多个这样的元件,既不要求也不排除两个或更多这样的元件。此外,所标识的元件的顺 序指示符(例如,第一、第二或第三)用于在元件之间进行区分,并且不指示或暗示要求的或 限定的数量的这样的元件,其也不指示这样的元件的特定位置或顺序,除非另外特别声明。
【主权项】
1. 一种用于促进所部署装置的使用的系统,所述系统包括: 一个或多个计算处理器; 服务编制逻辑,所述服务编制逻辑用于在所述一个或多个计算处理器上进行操作以: 获得一个或多个所部署装置的数据;以及 确定所述一个或多个装置的能力; 以及服务管理逻辑,所述服务管理逻辑用于在所述一个或多个计算处理器上进行操作 以: 确定将由所述一个或多个所部署装置中的所选装置执行的服务; 从所述一个或多个所部署装置中选择所述所选装置;以及 将所述服务部署到所述一个或多个所选装置以执行所述服务。2. 如权利要求1所述的系统,其中,所述服务编制逻辑用于通过收集所述一个或多个所 部署装置的遥测信息来获得数据,其中,所述遥测信息包括以下各项中的一项或多项:存储 空间、处理器使用、温度、数据吞吐量、网络能力、存储器使用或负荷平均。3. 如权利要求1所述的系统,其中,所述服务编制逻辑用于通过收集所述一个或多个所 部署装置的服务有效载荷信息来获得数据。4. 如权利要求1至3中的任一项所述的系统,其中,所述服务编制逻辑用于通过收集所 述一个或多个所部署装置的服务元数据来获得数据,其中,所述服务元数据包括以下各项 中的一项或多项:当前正在运行的任务的标识、估计的任务完成时间、用于运行附加任务的 容量以及装置所连接到的传感器类型。5. 如权利要求1至3中的任一项所述的系统,其中,所述服务管理逻辑进一步用于通过 对以下各项中的一项或多项的分析来执行服务适用性分析以确定所述一个或多个所部署 装置执行所述服务的适用性:所述一个或多个所部署装置的地理位置、所述一个或多个所 部署装置执行所述服务的特性的能力以及所述一个或多个所部署装置的历史性能。6. 如权利要求1至3中的任一项所述的系统,其中,所述服务管理逻辑用于通过服务描 述符的生成来部署所述服务。7. 如权利要求6所述的系统,其中,所述服务描述符包括所述服务的标识。8. 如权利要求6所述的系统,其中,所述服务描述符包括所述所选装置中的每个所选装 置的条目,所述条目包括所述所选装置中的每个所选装置的可执行文件。9. 如权利要求8所述的系统,其中,服务管理逻辑进一步用于通过将所述可执行文件部 署到所述所选装置来部署所述服务。10. 如权利要求6所述的系统,其中,所述服务描述符包括所述所选装置中的每个所选 装置的条目,所述条目包括所述所选装置中的每个所选装置的配置信息。11. 如权利要求6所述的系统,其中,所述服务描述符包括用于指示不同的装置来执行 不同的活动的指令。12. 如权利要求11所述的系统,其中,所述服务描述符对于第一装置包括用于执行与当 执行先前服务时由所述第一装置先前执行的活动不同的活动的指令。13. 如权利要求1至3中的任一项所述的系统,其中,所述所选服务是第一服务并且所述 服务管理逻辑用于针对不同于所述第一服务的第二服务重复相对于所述一个或多个所部 署装置的确定、选择和部署,其中,在所述一个或多个所部署装置中的第一组所选装置上操 作所述第一服务,在所述一个或多个所部署装置中的第二组所选装置上操作所述第二服 务,并且所述第一组所选装置和所述第二组所选装置是不同的。14. 如权利要求1至3中的任一项所述的系统,其中,所述服务管理逻辑用于通过以下各 项来确定服务: 向用户呈现服务选项;以及 从所述用户接收所选服务。15. 如权利要求1至3中的任一项所述的系统,其中,所述服务管理逻辑进一步用于通过 从用户处接收对服务的修改来确定服务。16. 如权利要求1至3中的任一项所述的系统,其中,所述服务编制逻辑用于从在所述一 个或多个所部署装置上操作的代理获得数据。17. -种用于促进所部署装置的使用的方法,所述方法包括: 由计算系统收集一个或多个所部署装置的数据; 由所述计算系统确定所述一个或多个装置的能力; 由所述计算系统确定将由所述一个或多个所部署装置中的所选装置执行的服务; 由所述计算系统从所述一个或多个所部署装置选择所述所选装置;以及由所述计算系 统将所述服务部署到所述一个或多个所选装置以执行所述服务。18. 如权利要求17所述的方法,其中,收集数据包括收集所述一个或多个所部署装置的 遥测信息。19. 如权利要求17或18中的任一项所述的方法,其中,收集数据包括收集所述一个或多 个所部署装置的服务元数据。20. 如权利要求17或18中的任一项所述的方法,进一步包括:由所述计算系统执行服务 适用性分析以确定所述一个或多个所部署装置执行所述服务的适用性。21. 如权利要求17或18中的任一项所述的方法,其中,确定服务包括: 向用户呈现服务选项;以及 从所述用户接收所选服务。22. -种或多种非瞬态计算机可读介质,包含写入在其上的指令,所述指令响应于由计 算系统的执行而使所述计算系统执行如权利要求17至21中的一项所述的方法。23. -种用于促进所部署装置的使用的系统,所述系统包括: 用于收集一个或多个所部署装置的数据的装置; 用于确定所述一个或多个装置的能力的装置; 用于确定将由所述一个或多个所部署装置中的所选装置执行的服务的装置; 用于从所述一个或多个所部署装置选择所述所选装置的装置;以及 用于将所述服务部署到所述一个或多个所选装置以执行所述服务的装置。24. 如权利要求23所述的系统,其中,用于收集数据的装置包括用于收集所述一个或多 个所部署装置的遥测信息或服务元数据的装置。25. 如权利要求23或24中的任一项所述的系统,进一步包括用于执行服务适用性分析 以确定所述一个或多个所部署装置执行所述服务的适用性的装置。
【文档编号】H04L12/24GK105934916SQ201580005573
【公开日】2016年9月7日
【申请日】2015年2月12日
【发明人】M·凯利, C·谢里丹, J·C·麦卡锡, K·A·埃利斯, M·诺兰, C·尼斯坎奈尔, P·J·巴里, N·卡希尔, K·诺兰, H·卡尔, G·穆拉奇, B·麦卡逊
【申请人】英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1