CN108028849B - 用于应用和资源可重用性的利用分层抽象的iot服务建模 - Google Patents
用于应用和资源可重用性的利用分层抽象的iot服务建模 Download PDFInfo
- Publication number
- CN108028849B CN108028849B CN201580082613.7A CN201580082613A CN108028849B CN 108028849 B CN108028849 B CN 108028849B CN 201580082613 A CN201580082613 A CN 201580082613A CN 108028849 B CN108028849 B CN 108028849B
- Authority
- CN
- China
- Prior art keywords
- abstraction
- runtime
- application
- abstractions
- capability
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/12—Discovery or management of network topologies
-
- 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/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5058—Service discovery by the service manager
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/70—Services for machine-to-machine communication [M2M] or machine type communication [MTC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
系统、装置和方法可以识别在包括多个物联网(IOT)设备的物理环境中配置第一IOT应用的请求中的能力抽象,并且基于能力抽象从多个资源抽象中选择资源抽象。所选资源抽象可以对应于多个IOT设备中的第一IOT设备。另外,第一IOT应用可以与第一IOT设备绑定。在一个示例中,接收源自第一IOT设备的第一数据,从多个运行时间抽象中选择第一运行时间抽象,其中第一运行时间抽象对应于第一IOT应用,并且第一数据经由第一运行时间抽象被发送到第一IOT应用。
Description
技术领域
实施例一般涉及物联网(IOT)。更具体地,实施例涉及用于应用和资源的可重用性的利用分层抽象的IOT服务建模。
背景技术
物联网(IOT)解决方案可以使诸如恒温器、洗衣机/干衣机等的家用设备能够交互地将操作数据报告给房主、公用事业公司和其他分析服务。IOT应用的代码通常可以嵌入(带有应用使用的设备的唯一标识符(ID,例如媒体访问控制/MAC地址))。因此,当IOT应用部署在物理环境中时,应用可以永久地绑定到环境中的特定IOT设备。如果IOT设备出现故障,由于部署的不灵活性的本质,应用的重新配置可能会耗时且成本高昂。另外,如果在同一环境中部署多个IOT应用,则每个应用可能被绑定到一组专用设备,这可能是低效的并且进一步增加了成本。
附图说明
通过阅读以下说明书和所附权利要求,并且通过参考以下附图,实施例的各种优点对于本领域技术人员将变得显而易见,其中:
图1是根据实施例的提示的示例的图示;
图2是根据实施例的具有分层抽象的IOT服务模型的示例的图示;
图3是根据实施例的操作分层抽象控制器以增强应用可重用性的方法的示例的流程图;
图4是根据实施例的操作分层抽象控制器以增强资源可重用性的方法的示例的流程图;
图5是根据实施例的分层抽象控制器的示例的框图;
图6是根据实施例的处理器的示例的框图;以及
图7是根据实施例的计算系统的示例的框图。
具体实施方式
现在转到图1,示出了在显示器上呈现多个能力抽象12(12a-12f)的用户提示10。能力抽象12通常可以被用来配置诸如例如物联网(IOT)应用的应用,以在包括多个设备的物理环境中进行操作,诸如例如IOT设备(例如,光传感器、互联网协议/IP摄像机、红外传感器、中央处理单元/CPU、固态盘/SSD、电源开关、恒温器、电器和其他资源)。IOT应用可以执行各种功能,例如家庭/办公自动化、零售设施存在监视(例如,在自动化的入口/出口系统中)、广域(例如城市、城镇)监视等等。
能力抽象12可以引用基本功能能力而不指定提供所引用能力的IOT设备的类型(例如导致一层能力抽象)或者指定提供所引用能力的特定IOT设备(例如,导致一层资源抽象)。另一层运行时间抽象也可以通过在物理环境中为每个IOT设备使得能够创建多个虚拟实例来实现。在所示出的示例中,能力抽象12包括诸如计算选项12a、通信选项12b、感测选项12c、致动选项12d、存储选项12e和电力选项12f的类别,尽管不同的选项/能力抽象可以根据情况被使用。如将更详细讨论的,资源抽象和能力抽象可以增强可重用性(例如,可移植性)以及资源效率。而且,运行时间抽象可以进一步提高资源效率。
图2示出了IOT服务模型14,其中多个IOT设备16(16a-16h,例如在物理层)具有资源抽象层18(18a-18g)、能力抽象层20(20a-20e)和运行时间抽象层22(22a-22i)。所示的能力抽象层20包括诸如光感测选项20a、存在感测选项20b、计算选项20c、存储选项20d、光致动选项20e等的类别,其中能力抽象层20可以参考基本功能能力,而不指定提供所引用的能力的IOT设备16的类型(例如导致一层能力抽象),或者指定提供所引用的能力的特定IOT设备16(例如,导致一层资源抽象)。
多个IOT设备16可以包括例如诸如第一光传感器16a(LS1)和第二光传感器16b(LS2)的光传感器(通常为“LS”)、诸如第一IP摄像机16c(IC1)和第二IP摄像机16d(IC2)的IP摄像机(通常为“IC”)、诸如第一红外传感器16e(IS1)的红外传感器(通常为“IS”)、诸如第一云节点16f的云计算节点(通常为“云”)、诸如第一网关16g(GW1)的网关(通常为“GW”)、诸如第一电源开关16h(PS1)的电源开关(通常为“PS”)等等。另外,资源抽象层18可以包括例如“A型”光感测资源抽象18a(例如,ZIGBEE HA/家庭自动化光感测)、“B型”光感测资源抽象18b(例如,蓝牙智能光感测)、IP摄像机资源抽象18c、“A型”红外感测资源抽象18d(例如,ZIGBEE HA红外感测)、CPU资源抽象18e、SSD资源抽象18f、“A型”电源切换资源抽象18g(例如ZIGBEE HA电源切换)等等。
通常,用户在开发时可以输入用于在包括多个IOT设备16的物理环境中操作的用于配置诸如第一应用24(“应用A”)的IOT应用的请求,作为对诸如提示10(图1)之类的提示的响应。该请求可以通过能力抽象层20和资源抽象层18延伸到包含IOT设备16的物理层。更具体地,该请求可能包括例如光感测能力抽象20a,其中A型光感测资源抽象18a可以基于光感测能力抽象20a从多个资源抽象中被选择。在所示出的示例中,A型光感测资源抽象18a可以由物理环境中的第一光传感器16a或第二光传感器16b提供。因此,为了光感测的目的,第一应用24可以与第一光传感器16a绑定(例如,关联,链接)。
特别值得注意的是,如果第一光传感器16a发生故障,则第一应用24可以自动与具有光感测能力的任何其它IOT设备16绑定,而不需要用新的嵌入ID、MAC地址等等对第一应用24进行重新编程,这对于新的IOT设备16来说是独特的。因此,在所示的示例中,第二光传感器16b可以容易地代替第一光传感器16a。事实上,即使是与B型光感测资源抽象18b相对应且具有不同连接性(例如,BLE/BLUETOOTH低能量)的另一类型的光传感器也可以代替第一光传感器16a。而且,具有重叠能力的不同类型的IOT设备可以以对用户透明的方式相互替换。例如,如果第一应用24将第一云节点16f用于计算能力,则第一云节点16f的失效可以使第一网关16g与能力抽象层20的计算选项20c自动绑定。
另外,可以在运行时间抽象层22处从多个运行时间抽象中选择和/或调用第一运行时间抽象22a(例如,虚拟实例),其中第一运行时间抽象22a可以专用于第一应用24。因此,由第一光传感器16a生成的数据可以在部署时经由第一运行时间抽象22a被发送到第一应用24。相比之下,可以从多个运行时间抽象中选择和/或调用第二运行时间抽象22b,其中第二运行时间抽象22b可以专用于第二应用28(“应用B”)。因此,由第一光传感器16a生成的数据也可以经由第二运行时间抽象22b被发送到第二应用28。所示出的运行时间抽象层22因此可以通过使得IOT设备16能够跨多个应用被重新使用/共享,来提高资源效率。运行时间抽象也可以避免多方利益相关者对资源隔离的担忧。
在一个示例中,运行时间抽象层22经由多线程来实现。例如,JAVA小服务程序可以将IOT设备16的虚拟实例封装到不同的线程中,其a)与应用的对应的前后资源进行交互,以及b)通过资源抽象与底层的物理资源进行交互。虚拟实例封装也可以通过容器例如DOCKER容器来实现。
图3示出了操作分层抽象控制器以增强应用可重用性的方法32。方法32可以被实现为存储在以下中的一组逻辑指令中的一个或多个模块:机器或计算机可读存储介质,诸如随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、固件、闪速存储器等;可配置逻辑,诸如例如可编程逻辑阵列(PLA)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD);使用电路技术的固定功能硬件逻辑,诸如例如专用集成电路(ASIC)、互补金属氧化物半导体(CMOS)或晶体管-晶体管逻辑(TTL)技术或其任何组合。例如,用于执行方法32中所示的操作的计算机程序代码可以以一种或多种程序设计语言的任意组合来编写,所述程序设计语言包括诸如JAVA、SMALLTALK、C++等的面向对象的程序设计语言和常规的过程化程序设计语言,如“C”程序设计语言或类似的程序设计语言。
说明性处理块34给出生成包括多个能力抽象(例如选项)的提示。提示可以类似于提示10(图1),和/或可以实现已经讨论过的能力抽象层(例如能力抽象层20(图2))。因此,多个能力抽象可以包括例如计算选项、通信选项、感测选项、致动选项、存储选项、电源选项等等。框36可以接收在包括多个IOT设备的物理环境中配置IOT应用的请求,其中该请求与提示相关联。
另外,在框38中,可以在请求中识别一个或多个能力抽象。图示的框40基于能力抽象从多个资源抽象中选择资源抽象,其中选择的资源抽象对应于多个IOT设备中的一个或多个IOT设备。框42可以基于所选择的资源抽象将IOT应用与一个或多个IOT设备中的至少一个绑定。如果在框44确定IOT应用已经与另一个IOT设备(例如,已经故障的)绑定,则示出的框46将IOT应用与另一个IOT设备解除绑定,并且方法32可以重复。否则,方法32可以重复而不执行框46。
图4示出了操作分层抽象控制器以增强资源可重用性的方法48。方法48可以被实现为存储在诸如RAM、ROM、PROM、固件、闪速存储器等的机器或计算机可读存储介质;诸如例如PLA、FPGA、CPLD的可配置逻辑;例如诸如ASIC、CMOS或TTL技术的使用电路技术的固定功能硬件逻辑;或其任何组合中的一组逻辑指令中的一个或多个模块。
图示的处理块50给出接收源自IOT设备(例如,已经讨论的多个IOT设备16中的一个(图2))的第一数据。可以在框52处从多个运行时间抽象中选择和/或调用第一运行时间抽象,其中第一运行时间抽象对应于第一IOT应用。另外,所示框54经由第一运行时间抽象将第一数据发送到第一IOT应用。框56可以给出接收源自第一IOT设备的第二数据,其中可以在框58处从多个运行时间抽象中选择和/或调用第二运行时间抽象。在所示示例中,第二运行时间抽象对应于第二IOT应用。在框60处,第二数据可以经由第二运行时间抽象被发送到第二IOT应用。
现在转到图5,示出了分层抽象控制器62。可以包括逻辑指令、可配置逻辑、固定功能逻辑硬件等或其任何组合的分层抽象控制器62(62a-62f)可以实现方法32(图3)和/或方法48(图4)的一个或多个方面。在所示示例中,请求处置器62a识别在包括多个IOT设备的物理环境中绑定第一IOT应用的请求中的能力抽象。控制器62还可以包括资源管理器62b,其基于能力抽象从多个资源抽象中选择资源抽象,其中所选资源抽象对应于多个IOT设备中的第一IOT设备。部署管理器62c可以将第一IOT应用与第一IOT设备绑定。另外,当第一IOT应用已经与发生故障的第二IOT设备绑定时,部署管理器62c可以将第一IOT应用与第二IOT设备解除绑定。
在一个示例中,控制器62进一步包括用于接收源自第一IOT设备的第一数据的设备接口62d和用于从多个运行时间抽象中选择第一运行时间抽象的运行时间管理器62e,其中第一运行时间抽象对应于第一IOT应用。在这种情况下,运行时间管理器62e也可以经由第一运行时间抽象将第一数据发送给第一IOT应用。另一方面,如果设备接口62d接收到源自第一IOT设备的第二数据,则运行时间管理器62e可以选择对应于第二IOT应用的第二运行时间抽象。因此,运行时间管理器62e可以经由第二运行时间抽象将第二数据发送到第二IOT应用。
控制器62还可以包括提示生成器62f以生成包括多个能力抽象的提示,其中绑定应用的请求与提示相关联。多个能力抽象可以包括例如计算选项、通信选项、感测选项、致动选项、存储选项、电源选项等等。
图6示出了根据一个实施例的处理器核心200。处理器核心200可以是任何类型的处理器的核心,诸如微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、或执行代码的其他设备。尽管在图6中仅示出了一个处理器核心200,处理元件可以可选地包括图6中示出的多于一个的处理器核心200。处理器核心200可以是单线程核心,或者对于至少一个实施例,处理器核心200可以是多线程的,因为其可以包括每个核心的多于一个硬件线程上下文(或“逻辑处理器”)。
图6还示出耦合到处理器核心200的存储器270。存储器270可以是本领域技术人员已知的或者可用的各种各样的存储器(包括存储器层次结构的各种层)中的任何一种。存储器270可以包括要由处理器核心200执行的一个或多个代码213指令,其中代码213可以实现已经讨论的方法32(图3)和/或方法48(图4)。处理器核心200遵循由代码213指示的指令的程序序列。每个指令可以进入前端部分210并由一个或多个解码器220处理。解码器220可以生成微操作作为其输出,例如预定义的格式的固定宽度微操作,或者可以生成其他指令、微指令或反映原始代码指令的控制信号。所示的前端部分210还包括寄存器重命名逻辑225和调度逻辑230,它们一般分配资源并将对应于转换指令的操作排队以供执行。
所示的处理器核心200包括具有一组执行单元255-1至255-N的执行逻辑250。一些实施例可以包括专用于特定功能或功能集合的多个执行单元。其他实施例可以仅包括一个执行单元或者可以执行特定功能的一个执行单元。所说明的执行逻辑250执行由代码指令指定的操作。
在完成代码指令指定的操作的执行之后,后端逻辑260引退(retire)代码213的指令。在一个实施例中,处理器核心200允许乱序执行,但是要求指令的顺序引退。引退逻辑265可以采用本领域技术人员已知的各种形式(例如,重新排序缓冲器等)。以这种方式,至少在解码器生成的输出、寄存器重命名逻辑225使用的硬件寄存器和表、以及通过执行逻辑250修改的任何寄存器(未示出)的方面,处理器核心200在代码213的执行期间被变换。
尽管在图6中未示出,处理元件可以包括与处理器核心200一起在芯片上的其他元件。例如,处理元件可以包括存储器控制逻辑以及处理器核心200。处理元件可以包括I/O控制逻辑和/或可以包括与存储器控制逻辑集成的I/O控制逻辑。处理元件还可以包括一个或多个高速缓存。
现在参照图7,示出了根据实施例的计算系统1000实施例的框图。图7所示的是包括第一处理元件1070和第二处理元件1080的多处理器系统1000。尽管示出了两个处理元件1070和1080,但是应该理解,系统1000的实施例也可以仅包括一个这样的处理元件。
系统1000被示出为点对点互连系统,其中第一处理元件1070和第二处理元件1080经由点对点互连1050耦合。应该理解的是,图7所示的任何或全部互连可以实现为多点总线而不是点对点互连。
如图7所示,处理元件1070和1080中的每一个可以是包括第一和第二处理器核心(即,处理器核心1074a和1074b以及处理器核心1084a和1084b)的多核处理器。这样的核心1074a、1074b、1084a、1084b可以被配置为以与以上结合图6所讨论的方式类似的方式来执行指令代码。
每个处理元件1070、1080可以包括至少一个共享高速缓存1896a、1896b。共享高速缓存1896a、1896b可以存储分别由处理器的一个或多个组件(例如,核心1074a、1074b和1084a、1084b)使用的数据(例如,指令)。例如,共享高速缓存1896a、1896b可以本地缓存存储在存储器1032、1034中的数据以供处理器的组件更快地访问。在一个或多个实施例中,共享高速缓存1896a、1896b可以包括一个或多个中级高速缓存,诸如级别2(L2)、级别3(L3)、级别4(L4)或其他级别的高速缓存,最后一级高速缓存(LLC),和/或其组合。
尽管仅示出了两个处理元件1070、1080,但是应该理解,实施例的范围不限于此。在其他实施例中,一个或多个额外的处理元件可以存在于给定的处理器中。可替代地,处理元件1070、1080中的一个或多个可以是除了处理器之外的元件,诸如加速器或现场可编程门阵列。例如,附加处理元件可以包括与第一处理器1070相同的附加处理器、与第一处理器1070处理器异构或不对称的附加处理器、加速器(例如,图形加速器或数字信号处理(DSP)单元)、现场可编程门阵列、或任何其他处理元件。在处理元件1070、1080之间,就包括架构、微架构、热量、功耗特性等的一系列优点度量而言,可以存在各种差异。这些差异可以有效地表现为处理元件1070、1080之间的不对称性和异构性。对于至少一个实施例,各种处理元件1070、1080可以驻留在相同的管芯封装中。
第一处理元件1070还可以包括存储器控制器逻辑(MC)1072和点对点(P-P)接口1076和1078。类似地,第二处理元件1080可以包括MC 1082和P-P接口1086和1088。如图7所示,MC 1072和1082将处理器耦合到相应的存储器,即存储器1032和存储器1034,存储器1032和存储器1034可以是本地附接到相应处理器的主存储器的部分。虽然MC 1072和1082被图示为集成到处理元件1070、1080中,但是对于替代实施例,MC逻辑可以是处理元件1070、1080之外的离散逻辑,而不是集成在其中。
第一处理元件1070和第二处理元件1080可以分别经由P-P互连10761086耦合到I/O子系统1090。如图7所示,I/O子系统1090包括P-P接口1094和1098。此外,I/O子系统1090包括将I/O子系统1090与高性能图形引擎1038耦合的接口1092。在一个实施例中,可以使用总线1049以将图形引擎1038耦合到I/O子系统1090。可选地,点对点互连可耦合这些组件。
I/O子系统1090又可以经由接口1096耦合到第一总线1016。在一个实施例中,第一总线1016可以是外围组件互连(PCI)总线或诸如PCI Express总线的总线或另一个第三代I/O互连总线,但是实施例的范围不限于此。
如图7所示,各种I/O设备1014(例如,扬声器、摄像机、传感器)可连同可将第一总线1016耦合到第二总线1020的总线桥1018一起耦合到第一总线1016。在一个实施例中,第二总线1020可以是低引脚数(LPC)总线。各种设备可以耦合到第二总线1020,包括例如键盘/鼠标1012、通信设备1026和数据存储单元1019,例如在一个实施例中可以包括代码1030的磁盘驱动器或其他大容量存储设备。图示的代码1030可以实现已经讨论的方法32(图3)和/或方法48(图4),并且可以与已经讨论的代码213(图6)类似。系统1000还可以包括分层抽象控制器,例如分层抽象控制器62(图5)。在一个示例中,经由输入设备(诸如I/O设备1014)接收在物理环境中绑定IOT应用的请求,并且绑定被记录在诸如存储器1032、1034的存储器模块中。此外,音频I/O 1024可以耦合到第二总线1020,并且电池1010可以向计算系统1000供电。
注意,可以设想其他实施例。例如,代替图7的点对点架构,系统可以实现多点总线或其他这种通信拓扑。而且,图7的元件可替代地可以使用比图7所示更多或更少的集成芯片来划分。
其他注意事项和示例:
示例1可以包括用于增强组件的可重用性的计算系统,其包括:存储器模块,用于接收绑定包括多个设备的物理环境中的第一应用的请求的输入设备,以及分层抽象控制器,包括:请求处置器,用于识别请求中的能力抽象,资源管理器,用于基于能力抽象从多个资源抽象中选择资源抽象,其中选择的资源抽象对应于多个设备中的第一设备,以及用于将所述第一应用与所述第一设备绑定的部署管理器,其中所述存储器模块记录所述第一应用与所述第一设备之间的绑定。
示例2可以包括示例1的系统,其中分层抽象控制器还包括用于接收源自第一设备的第一数据的设备接口,以及用于从多个运行时间抽象中选择第一运行时间抽象的运行时间管理器,其中第一运行时间抽象对应于第一应用,并且其中运行时间管理器经由第一运行时间抽象将第一数据发送到第一应用。
示例3可以包括示例2的系统,其中设备接口接收源自第一设备的第二数据,运行时间管理器从多个运行时间抽象中选择第二运行时间抽象,第二运行时间抽象对应于第二应用,并且运行时间管理器经由第二运行时间抽象将第二数据发送到第二应用。
示例4可以包括示例1的系统,其中分层抽象控制器还包括提示生成器,用于生成包括多个能力抽象的提示,并且其中请求与提示相关联。
示例5可以包括示例4的系统,其中多个能力抽象包括一个或多个类别。
示例6可以包括示例1至5中的任一个的系统,其中当第一应用与发生故障的第二设备绑定时,部署管理器将第一应用与第二设备解除绑定。
示例7可以包括分层抽象控制器装置,该分层抽象控制器装置包括:请求处置器,用于识别在包括多个设备的物理环境中配置第一应用的请求中的能力抽象;资源管理器,用于基于能力抽象从多个资源抽象中选择资源抽象,其中选择的资源抽象对应于多个设备中的第一设备;以及部署管理器,用于将第一应用与第一设备绑定。
示例8可以包括示例7的装置,还包括用于接收源自第一设备的第一数据的设备接口以及用于从多个运行时间抽象中选择第一运行时间抽象的运行时间管理器,其中第一运行时间抽象对应于第一应用,并且其中运行时间管理器经由第一运行时间抽象将第一数据发送到第一应用。
示例9可以包括示例8的装置,其中设备接口接收源自第一设备的第二数据,运行时间管理器从多个运行时间抽象中选择第二运行时间抽象,第二运行时间抽象对应于第二应用,并且运行时间管理器将经由第二运行时间抽象将第二数据发送到第二应用。
示例10可以包括示例7的装置,还包括提示生成器,用于生成包括多个能力抽象的提示,其中该请求与提示相关联。
示例11可以包括示例10的装置,其中多个能力抽象包括一个或多个类别。
示例12可以包括示例7至11中的任一个的装置,其中,当第一应用与发生故障的第二设备绑定时,部署管理器将第一应用与第二设备解除绑定。
示例13可以包括一种操作分层抽象控制器的方法,包括:识别在包括多个设备的物理环境中配置第一应用的请求中的能力抽象;基于能力抽象从多个资源抽象中选择资源抽象,其中所选择的资源抽象对应于所述多个设备中的第一设备,并且将所述第一应用与所述第一设备绑定。
示例14可以包括示例13的方法,还包括接收源自第一设备的第一数据,从多个运行时间抽象中选择第一运行时间抽象,其中第一运行时间抽象对应于第一应用,并且经由第一运行时间抽象将第一数据发送到第一应用。
示例15可以包括示例14的方法,还包括:接收源自第一设备的第二数据,从多个运行时间抽象中选择第二运行时间抽象,其中第二运行时间抽象对应于第二应用,并且经由第二运行时间抽象将第二数据发送到第二应用。
示例16可以包括示例13的方法,还包括生成包括多个能力抽象的提示,其中该请求与提示相关联。
示例17可以包括示例16的方法,其中多个能力抽象包括一个或多个类别。
示例18可以包括示例13至17中的任一个的方法,其中第一应用与发生故障的第二设备绑定,并且该方法还包括将第一应用与第二设备解除绑定。
示例19可以包括至少一个非暂时性计算机可读存储介质,其包括一组指令,所述一组指令在由计算设备执行时使所述计算设备识别在包括多个设备的物理环境中配置第一应用的请求中的能力抽象,基于所述能力抽象从多个资源抽象中选择资源抽象,其中所选择的资源抽象对应于所述多个设备中的第一设备,并将所述第一应用与所述第一设备绑定。
示例20可以包括示例19的至少一个计算机可读存储介质,其中,所述指令在被执行时使得计算设备接收源自第一设备的第一数据,从多个运行时间抽象中选择第一运行时间抽象,其中第一运行时间抽象对应于第一应用,并且经由第一运行时间抽象向第一应用发送第一数据。
示例21可以包括示例20的至少一个计算机可读存储介质,其中所述指令在被执行时使计算设备接收源自第一设备的第二数据,从多个运行时间抽象中选择第二运行时间抽象,其中第二运行时间抽象对应于第二应用,并经由第二运行时间抽象将第二数据发送给第二应用。
示例22可以包括示例19的至少一个计算机可读存储介质,其中,所述指令在被执行时使计算设备生成包括多个能力抽象的提示,并且其中所述请求与所述提示相关联。
示例23可以包括示例22的至少一个计算机可读存储介质,其中多个能力抽象包括一个或多个类别。
示例24可以包括示例19至23中的任一个的至少一个计算机可读存储介质,其中当第一应用与发生故障的第二设备绑定时,指令在被执行时使得计算设备将第一应用与第二设备解除绑定。
示例25可以包括分层抽象控制器装置,其包括:用于识别在包括多个设备的物理环境中配置第一应用的请求中的能力抽象的单元;用于基于能力抽象从多个资源抽象中选择资源抽象的单元,其中所选择的资源抽象对应于所述多个设备中的第一设备,以及用于将所述第一应用与所述第一设备绑定的单元。
示例26可以包括示例25的装置,还包括用于接收源自第一设备的第一数据的单元,用于从多个运行时间抽象中选择第一运行时间抽象的单元,其中第一运行时间抽象对应于第一应用,以及用于经由第一运行时间抽象将第一数据发送给第一应用的单元。
示例27可以包括示例26的装置,还包括用于接收源自第一设备的第二数据的单元,用于从多个运行时间抽象中选择第二运行时间抽象的单元,其中第二运行时间抽象对应于第二应用,以及用于经由第二运行时间抽象将第二数据发送给第二应用的单元。
示例28可以包括示例25的装置,还包括用于生成包括多个能力抽象的提示的单元,其中该请求与提示相关联。
示例29可以包括示例28的装置,其中多个能力抽象包括一个或多个类别。
示例30可以包括示例25至29中的任一个的装置,其中第一应用与发生故障的第二设备绑定,并且该装置还包括用于将第一应用与第二设备解除绑定的单元。
因此,这里描述的技术可以启用IOT资源的可重用性,这又可以导致更容易部署IOT应用。实际上,可以部署新的IOT应用而无需安装任何新的无论任何IOT设备。
实施例适用于所有类型的半导体集成电路(“IC”)芯片。这些IC芯片的例子包括但不限于处理器、控制器、芯片组部件、可编程逻辑阵列(PLA)、存储器芯片、网络芯片、片上系统(SoC)、SSD/NAND控制器ASIC等等。另外,在一些附图中,信号导线用线表示。一些可以是不同的以指示更多组成信号路径,具有数字标签以指示组成信号路径的编号,和/或在一个或多个末端具有箭头以指示主要信息流方向。但是,这不应该以限制的方式来解释。相反,可以结合一个或多个示例性实施例来使用这样的附加细节,以便于更容易地理解电路。任何表示的信号线,无论是否具有附加信息,实际上可以包括可以在多个方向上传播的一个或多个信号,并且可以用任何合适类型的信号方案来实现,例如用差分对实现的数字或模拟线路、光纤线和/或单端线。
可能已经给出了示例尺寸/模型/值/范围,但是实施例不限于此。随着制造技术(例如光刻)随着时间的推移而成熟,预计可以制造更小尺寸的设备。另外,为了图示和讨论的简单性,以及为了不模糊实施例的某些方面,可以或不可以在附图中示出公知的到IC芯片和其他组件的电源/接地连接。此外,为了避免混淆实施例,并且鉴于关于这种框图布置的实现的细节高度依赖于要在其中实现实施例的平台的事实,可以以框图形式示出布置,即,这样的细节应该在本领域技术人员的知识范围内。在阐述具体细节(例如,电路)以描述示例实施例的情况下,对于本领域技术人员而言显而易见的是,可以在没有这些具体细节或者具有这些具体细节的变型的情况下实践实施例。因此该描述被认为是说明性的而不是限制性的。
术语“耦合”在本文中可以用于指代所讨论的组件之间的任何类型的直接或间接的关系,并且可以应用于电气、机械、流体、光学、电磁、机电或其他连接。另外,除非另外指出,否则术语“第一”、“第二”等在本文中可以仅用于便于讨论,并且不带有特定的时间或时间顺序的重要性。
如在本申请和权利要求书中使用的,术语“一个或多个”所连接的项目列表可以表示所列术语的任意组合。例如,短语“A、B或C中的一个或多个”可以表示A、B、C;A和B;A和C;B和C;或A、B和C。
本领域的技术人员将从前面的描述中认识到,实施例的广泛技术可以以各种形式来实现。因此,尽管已经结合其特定示例描述了实施例,但是实施例的真正的范围不应该如此受限制,因为在研究附图、说明书和所附权利要求书后,其他修改对于本领域技术人员将变得显而易见。
Claims (13)
1.一种增强组件的可重用性的计算系统,包括:
存储器模块;
输入设备,用于接收对在包括多个设备的物理环境中的第一应用进行绑定的请求;以及
分层抽象控制器,包括,
请求处置器,用于识别所述请求中的能力抽象;
资源管理器,用于基于所述能力抽象从多个资源抽象中选择资源抽象,其中,所选择的资源抽象对应于所述多个设备中的第一设备;以及
部署管理器,用于将所述第一应用与所述第一设备进行绑定,其中,所述存储器模块用于记录所述第一应用和所述第一设备之间的所述绑定;
其中,当所述第一应用与已经发生故障的第二设备绑定时,所述部署管理器用于将所述第一应用与所述第二设备解除绑定;
其中,所述分层抽象控制器还包括:
设备接口,用于接收源自所述第一设备的第一数据;以及
运行时间管理器,用于从多个运行时间抽象中选择第一运行时间抽象,其中,所述第一运行时间抽象对应于所述第一应用,并且其中,所述运行时间管理器用于经由所述第一运行时间抽象将所述第一数据发送至所述第一应用;并且
其中,所述设备接口用于接收源自所述第一设备的第二数据,所述运行时间管理器用于从所述多个运行时间抽象中选择第二运行时间抽象,所述第二运行时间抽象对应于第二应用,并且所述运行时间管理器用于经由所述第二运行时间抽象将所述第二数据发送至所述第二应用。
2.如权利要求1所述的系统,其中,所述分层抽象控制器还包括提示生成器,用于生成包括多个能力抽象的提示,并且其中,所述请求与所述提示相关联。
3.如权利要求2所述的系统,其中,所述多个能力抽象包括一个或多个类别。
4.一种分层抽象控制器装置,包括:
请求处置器,用于识别在包括多个设备的物理环境中对第一应用进行配置的请求中的能力抽象;
资源管理器,用于基于所述能力抽象从多个资源抽象中选择资源抽象,其中,所选择的资源抽象对应于所述多个设备中的第一设备;
部署管理器,用于将所述第一应用与所述第一设备进行绑定;
设备接口,用于接收源自所述第一设备的第一数据;
运行时间管理器,用于从多个运行时间抽象中选择第一运行时间抽象,其中,所述第一运行时间抽象对应于所述第一应用,并且其中,所述运行时间管理器用于经由所述第一运行时间抽象将所述第一数据发送至所述第一应用;
其中,当所述第一应用与已经发生故障的第二设备绑定时,所述部署管理器用于将所述第一应用与所述第二设备解除绑定;并且
其中,所述设备接口用于接收源自所述第一设备的第二数据,所述运行时间管理器用于从所述多个运行时间抽象中选择第二运行时间抽象,所述第二运行时间抽象对应于第二应用,并且所述运行时间管理器用于经由所述第二运行时间抽象将所述第二数据发送至所述第二应用。
5.如权利要求4所述的装置,还包括提示生成器,用于生成包括多个能力抽象的提示,其中,所述请求与所述提示相关联。
6.如权利要求5所述的装置,其中,所述多个能力抽象包括一个或多个类别。
7.一种操作分层抽象控制器的方法,包括:
识别在包括多个设备的物理环境中对第一应用进行配置的请求中的能力抽象;
基于所述能力抽象从多个资源抽象中选择资源抽象,其中,所选择的资源抽象对应于所述多个设备中的第一设备;
将所述第一应用与所述第一设备进行绑定;
接收源自所述第一设备的第一数据;
从多个运行时间抽象中选择第一运行时间抽象,其中,所述第一运行时间抽象对应于所述第一应用;
经由所述第一运行时间抽象将所述第一数据发送至所述第一应用;
接收源自所述第一设备的第二数据;
从所述多个运行时间抽象中选择第二运行时间抽象,其中,所述第二运行时间抽象对应于第二应用;以及
经由所述第二运行时间抽象将所述第二数据发送至所述第二应用;
其中,所述第一应用与已经发生故障的第二设备绑定,并且所述方法还包括将所述第一应用与所述第二设备解除绑定。
8.如权利要求7所述的方法,还包括生成包括多个能力抽象的提示,其中,所述请求与所述提示相关联。
9.如权利要求8所述的方法,其中,所述多个能力抽象包括一个或多个类别。
10.一种分层抽象控制器装置,包括:
用于识别在包括多个设备的物理环境中对第一应用进行配置的请求中的能力抽象的单元;
用于基于所述能力抽象从多个资源抽象中选择资源抽象的单元,其中,所选择的资源抽象对应于所述多个设备中的第一设备;
用于将所述第一应用与所述第一设备进行绑定的单元;
用于接收源自所述第一设备的第一数据的单元;
用于从多个运行时间抽象中选择第一运行时间抽象的单元,其中,所述第一运行时间抽象对应于所述第一应用;
用于经由所述第一运行时间抽象将所述第一数据发送至所述第一应用的单元;
用于接收源自所述第一设备的第二数据的单元;
用于从所述多个运行时间抽象中选择第二运行时间抽象的单元,其中,所述第二运行时间抽象对应于第二应用;以及
用于经由所述第二运行时间抽象将所述第二数据发送至所述第二应用的单元;
其中,所述第一应用与已经发生故障的第二设备绑定,并且所述装置还包括用于将所述第一应用与所述第二设备解除绑定的单元。
11.如权利要求10所述的装置,还包括用于生成包括多个能力抽象的提示的单元,其中,所述请求与所述提示相关联。
12.如权利要求11所述的装置,其中,所述多个能力抽象包括一个或多个类别。
13.至少一种非暂时性计算机可读存储介质,其包括一组指令,所述指令在由计算设备执行时使得所述计算设备执行根据权利要求7-9中任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/052361 WO2017052624A1 (en) | 2015-09-25 | 2015-09-25 | Iot service modeling with layered abstraction for reusability of applications and resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108028849A CN108028849A (zh) | 2018-05-11 |
CN108028849B true CN108028849B (zh) | 2021-10-15 |
Family
ID=58387072
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580082613.7A Active CN108028849B (zh) | 2015-09-25 | 2015-09-25 | 用于应用和资源可重用性的利用分层抽象的iot服务建模 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10904083B2 (zh) |
CN (1) | CN108028849B (zh) |
WO (1) | WO2017052624A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10637678B2 (en) | 2015-09-24 | 2020-04-28 | Intel Corporation | Facilitating portable, reusable, and shareable internet of things (IoT)-based services and resources |
US10904083B2 (en) * | 2015-09-25 | 2021-01-26 | Intel Corporation | IOT service modeling with layered abstraction for reusability of applications and resources |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534457A (zh) * | 2003-04-02 | 2004-10-06 | 增强的运行时间主机支持 | |
WO2014124318A1 (en) * | 2013-02-08 | 2014-08-14 | Interdigital Patent Holdings, Inc. | METHOD AND APPARATUS FOR INCORPORATING AN INTERNET OF THINGS (IoT) SERVICE INTERFACE PROTOCOL LAYER IN A NODE |
CN104067258A (zh) * | 2012-04-26 | 2014-09-24 | 惠普发展公司,有限责任合伙企业 | 平台运行时间抽象 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7734749B2 (en) | 2002-10-16 | 2010-06-08 | Xerox Corporation | Device model agent |
US7650344B2 (en) * | 2004-02-09 | 2010-01-19 | Coremetrics, Inc. | System and method of managing software product-line customizations |
US20090119410A1 (en) * | 2004-04-16 | 2009-05-07 | Utstarcom, Inc. | Middleware architecture for iptv multimedia streaming |
US7191292B2 (en) * | 2004-06-04 | 2007-03-13 | Sun Microsystems, Inc. | Logging of level-two cache transactions into banks of the level-two cache for system rollback |
US7600005B2 (en) * | 2005-11-23 | 2009-10-06 | Sun Microsystems, Inc. | Method and apparatus for provisioning heterogeneous operating systems onto heterogeneous hardware systems |
US7725573B2 (en) * | 2005-11-29 | 2010-05-25 | Intel Corporation | Methods and apparatus for supporting agile run-time network systems via identification and execution of most efficient application code in view of changing network traffic conditions |
US8954526B2 (en) * | 2007-09-28 | 2015-02-10 | Xcerion Aktiebolag | Network operating system |
US7941458B2 (en) * | 2008-06-26 | 2011-05-10 | Microsoft Corporation | Abstraction layer for online/offline resource access |
US8904343B2 (en) * | 2009-12-21 | 2014-12-02 | Sap Se | Adding services to application platform via extension |
WO2013142433A2 (en) | 2012-03-19 | 2013-09-26 | Enterpriseweb Llc | Declarative software application meta-model and system for self-modification |
US9223634B2 (en) * | 2012-05-02 | 2015-12-29 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US8745755B2 (en) | 2012-10-12 | 2014-06-03 | Citrix Systems, Inc. | Controlling device access to enterprise resources in an orchestration framework for connected devices |
US9405562B2 (en) * | 2012-10-18 | 2016-08-02 | Broadcom Corporation | Set top box application in a concurrent dual environment |
JP6117943B2 (ja) * | 2013-01-31 | 2017-04-19 | ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. | カスタマイズ可能なモバイルブロードバンドネットワークシステムおよびモバイルブロードバンドネットワークをカスタマイズするための方法 |
WO2016025321A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
US9825881B2 (en) * | 2014-09-30 | 2017-11-21 | Sony Interactive Entertainment America Llc | Methods and systems for portably deploying applications on one or more cloud systems |
US20170339251A1 (en) * | 2015-01-06 | 2017-11-23 | Hewlett Packard Enterprise Development Lp | Supporting interoperability in cloud environments |
US9851933B2 (en) * | 2015-03-25 | 2017-12-26 | International Business Machines Corporation | Capability-based abstraction of software-defined infrastructure |
US10419438B2 (en) * | 2015-06-09 | 2019-09-17 | Intel Corporation | System, apparatus and method for auto-optimization of access control policy and key management in a network authoring tool |
US10904083B2 (en) * | 2015-09-25 | 2021-01-26 | Intel Corporation | IOT service modeling with layered abstraction for reusability of applications and resources |
WO2017099732A1 (en) * | 2015-12-08 | 2017-06-15 | Hewlett Packard Enterprise Development Lp | Cloud-based testing |
US10402195B2 (en) * | 2017-10-16 | 2019-09-03 | General Electric Company | Framework for supporting multiple analytic runtimes |
-
2015
- 2015-09-25 US US15/754,532 patent/US10904083B2/en active Active
- 2015-09-25 CN CN201580082613.7A patent/CN108028849B/zh active Active
- 2015-09-25 WO PCT/US2015/052361 patent/WO2017052624A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1534457A (zh) * | 2003-04-02 | 2004-10-06 | 增强的运行时间主机支持 | |
CN104067258A (zh) * | 2012-04-26 | 2014-09-24 | 惠普发展公司,有限责任合伙企业 | 平台运行时间抽象 |
WO2014124318A1 (en) * | 2013-02-08 | 2014-08-14 | Interdigital Patent Holdings, Inc. | METHOD AND APPARATUS FOR INCORPORATING AN INTERNET OF THINGS (IoT) SERVICE INTERFACE PROTOCOL LAYER IN A NODE |
Also Published As
Publication number | Publication date |
---|---|
WO2017052624A1 (en) | 2017-03-30 |
US10904083B2 (en) | 2021-01-26 |
CN108028849A (zh) | 2018-05-11 |
US20180248753A1 (en) | 2018-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11068318B2 (en) | Dynamic thread status retrieval using inter-thread communication | |
EP3543857B1 (en) | Partially reconfiguring acceleration components | |
US10713026B2 (en) | Heterogeneous distributed runtime code that shares IOT resources | |
CN111052074A (zh) | 具有自描述依从性信息的固件组件 | |
US11853787B2 (en) | Dynamic platform feature tuning based on virtual machine runtime requirements | |
CN118043815A (zh) | 调试数据流计算机架构 | |
US20120198118A1 (en) | Using dma for copying performance counter data to memory | |
CN108028849B (zh) | 用于应用和资源可重用性的利用分层抽象的iot服务建模 | |
US20110173503A1 (en) | Hardware enabled performance counters with support for operating system context switching | |
TWI845762B (zh) | 用於分割異質系統的電腦應用的自動學習科技的系統、半導體設備、方法及儲存媒體 | |
WO2017069859A1 (en) | Universal controller to support remote monitoring of system and/or machine health | |
CN117632256A (zh) | 用于处置多元件处理器中的断点的装置及方法 | |
US9529587B2 (en) | Refactoring data flow applications without source code changes or recompilation | |
US11544129B2 (en) | Cross-component health monitoring and improved repair for self-healing platforms | |
US20110173402A1 (en) | Hardware support for collecting performance counters directly to memory | |
US20140365748A1 (en) | Method, apparatus and system for data stream processing with a programmable accelerator | |
TW202231520A (zh) | 用於汽車系統的動態可重新配置的現場自測試能力 | |
CN114064198A (zh) | 经由os接口表的单numa域内的多虚拟numa域 |
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 |