CN110301131B - 用于分层设备集合的上下文感知设备许可 - Google Patents

用于分层设备集合的上下文感知设备许可 Download PDF

Info

Publication number
CN110301131B
CN110301131B CN201880011705.XA CN201880011705A CN110301131B CN 110301131 B CN110301131 B CN 110301131B CN 201880011705 A CN201880011705 A CN 201880011705A CN 110301131 B CN110301131 B CN 110301131B
Authority
CN
China
Prior art keywords
iot
access
iot devices
hierarchy
devices
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
Application number
CN201880011705.XA
Other languages
English (en)
Other versions
CN110301131A (zh
Inventor
A·萨穆尔
J·佩雷兹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN110301131A publication Critical patent/CN110301131A/zh
Application granted granted Critical
Publication of CN110301131B publication Critical patent/CN110301131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

存储与IoT设备相关联的元数据。元数据可以包括与IoT设备相关联的类别。至少第一类别可以是分层的,使得第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是该层级之上的层级中的类别之一的子集。存储与用户相关联的用户信息。接收与用户之一相关联并且还与对至少一个IoT设备的访问相关联的请求。响应于该请求,基于所存储的用户信息和所存储的元数据来选择性地授予对至少一个IoT设备的访问。

Description

用于分层设备集合的上下文感知设备许可
技术领域
本公开的实施例涉及网络通信。
背景技术
物联网(“IoT”)通常是指能够通过网络进行通信的设备系统。这些设备可以包括日常物品,诸如烤面包机、咖啡机、恒温器系统、洗衣机、干衣机、灯、汽车等。这些设备还可以包括建筑物和工厂机器中的传感器、远程工业系统中的传感器和致动器等。网络通信可以用于设备自动化、数据捕获、提供警报、设置个性化以及很多其他应用。
发明内容
提供本“发明内容”是为了以简化的形式介绍一些概念,这些概念将在下面的“具体实施方式”中进一步描述。本“发明内容”不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
简而言之,所公开的技术总体上涉及IoT环境中的通信。例如,这种技术可用于IoT设备许可。在该技术的一个示例中,可以存储与多个 IoT设备相关联的元数据。元数据可以包括与多个IoT设备相关联的多个类别。多个类别中的至少第一类别可以是分层的,使得第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是该层级之上的层级中的类别之一的子集。可以存储与多个用户相关联的用户信息。可以接收与多个用户之一相关联并且还与对多个IoT设备中的至少一个的访问相关联的请求。响应于该请求,基于所存储的用户信息和所存储的元数据来选择性地授予对多个IoT设备中的至少一个的访问。
在本公开的示例中,动态的上下文感知模型可以用于基于可缩放和灵活的上下文属性来创建设备集合。然后,可以基于允许通过改变上下文参数来配置许可模型的上下文参数集合来定义对IoT设备的许可(例如,定义对IoT设备的许可)。一些上下文属性可以是分层的。
在阅读和理解附图和说明书之后,将能够理解所公开的技术的其他方面和应用。
附图说明
参考附图描述本公开的非限制性和非穷举性示例。在附图中,除非另有说明,否则相同的附图标记在各个附图中指代相同的部件。这些附图不一定按比例绘制。
为了更好地理解本公开,将参考应当结合附图来阅读的以下“具体实施方式”,在附图中:
图1是示出可以采用本技术的各方面的合适环境的一个示例的框图;
图2是示出根据所公开的技术的各方面的合适计算设备的一个示例的框图;
图3是示出用于IoT设备许可的系统的示例的框图;
图4A-4B是示出根据本公开的各方面的用于IoT设备许可的过程的示例数据流的图。
具体实施方式
以下描述提供用于彻底理解和实现该技术的各种示例的描述的具体细节。本领域技术人员将理解,可以在没有很多这些细节的情况下实现该技术。在一些情况下,没有详细示出或描述公知的结构和功能,以避免不必要地模糊对技术的示例的描述。本公开中使用的术语旨在以其最广泛的合理方式解释,即使其与该技术的某些示例的详细描述一起使用。尽管下面可以强调某些术语,但是旨在以任何受限制的方式解释的任何术语将在“具体实施方式”部分中明确地和具体地定义。在整个说明书和权利要求书中,除非上下文另有指示,否则以下术语至少采用本文中明确相关的含义。下面确定的含义不一定限制术语,而仅仅提供术语的说明性示例。例如,术语“基于(based on)”和“基于(based upon)”中的每个不是排他性的,并且等同于术语“至少部分地基于(based,at least in part,on)”,并且包括基于其他因素的选项,其中的一些因素可能在本文中没有描述。作为另一示例,术语“经由”不是排他性的,并且等同于术语“至少部分经由”,并且包括经由附加因素的选择,其中的一些因素可能在本文中没有描述。“在……中(in)”的含义包括“在……中(in)”和“在……上(on)”。本文中使用的短语“在一个实施例中”或“在一个示例中”尽管可以但是不一定是指相同的实施例或示例。特定的文本数字指示符的使用并不表示存在较低值的数字指示符。例如,陈述“从包括第三foo和第四bar的组中选择的小部件”本身并不表示存在至少三个foo,也不表示存在至少四个bar元素。除非明确排除多个引用,否则单数引用仅仅是为了阅读的清楚并且包括复数引用。除非另有明确说明,否则术语“或”是包含性的“或”运算符。例如,短语“A或B”表示“A、B或A和B”。如本文中使用的,术语“组件”和“系统”旨在包含硬件、软件或硬件和软件的各种组合。因此,例如,系统或组件可以是过程、在计算设备上执行的过程、计算设备或其一部分。IoT数据是指由IoT设备收集和/或存储的数据,包括遥测数据和其他类型的数据。声明性请求或声明性查询是引用透明的请求或查询,这表示无论所使用的输入是引用还是引用指向的实际值,请求都不会改变。实质上,声明性查询指定了所请求的信息,但是没有指定如何回答查询。
简而言之,所公开的技术总体上涉及IoT环境中的通信。例如,这种技术可用于IoT设备许可。在该技术的一个示例中,可以存储与多个 IoT设备相关联的元数据。元数据可以包括与多个IoT设备相关联的多个类别。多个类别中的至少第一类别可以是分层的,使得第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是该层级之上的层级中的类别之一的子集。可以存储与多个用户相关联的用户信息。可以接收与多个用户之一相关联并且还与对多个IoT设备中的至少一个的访问相关联的请求。响应于该请求,基于所存储的用户信息和所存储的元数据来选择性地授予对多个IoT设备中的至少一个的访问。
IoT设备通常大量部署在无人看管的位置。此外,存在这些设备的环境通常经常改变。授予用户或其他计算代理以访问IoT设备的访问控制权限可以由设备在任何一个时刻所在的位置和/或由其他上下文参数来指定。通常,IoT设备上的访问许可是静态的,类似于控制信息技术 (IT)资源的方式。这可能会产生管理这些大量IoT设备的巨大开销。
在本公开的示例中,动态的上下文感知模型可以用于基于可缩放和灵活的上下文属性来创建设备集合。然后,可以基于允许通过改变上下文参数来配置许可模型的上下文参数集合来定义对IoT设备的许可。一些上下文属性可以是分层的。在一个示例中,设备的上下文属性包括位置、设备类型和设备操作系统(“OS”)版本,并且位置是分层的。分层上下文属性的一个示例是按城市、建筑物、楼层和房间定义IoT设备的位置。
在该示例中,“城市”是位置层级的顶级。在该示例中,位置层级中的“城市”下方是建筑物。在该示例中,特定建筑物中的每个IoT设备也位于建筑物所在的城市。类似地,特定楼层的每个IoT设备属于楼层所在的建筑物以及建筑物所在的城市。类似地,在该示例中,特定房间中的每个IoT设备属于房间所在的楼层,等等。以这种方式,在该示例中,位置元数据是分层的。在该示例中,当分配IoT设备所在的房间时,基于如何定义分层类别,还定义楼层、建筑物和城市。可以基于分层类别来定义许可。例如,可以向特定用户授予对特定建筑物中的所有 IoT设备的特定类型的访问。
说明性设备/操作环境
图1是可以实现本技术的各方面的环境100的图。如图所示,环境 100包括经由网络130连接的计算设备110以及网络节点120。即使图1 中示出了环境100的特定组件,但是在其他示例中,环境100还可以包括附加和/或不同的组件。例如,在某些示例中,环境100还可以包括网络存储设备、维护管理器和/或其他合适的组件(未示出)。图1所示的计算设备110可以处于各种位置,包括在室内,在云中等。例如,计算机设备110可以在客户端侧、服务器侧等。
如图1所示,网络130可以包括互连多个计算设备110并且将计算设备110连接到外部网络140(例如,因特网或内联网)的一个或多个网络节点120。例如,网络节点120可以包括交换机、路由器、集线器、网络控制器或其他网络元件。在某些示例中,计算设备110可以被组织成机架、动作区域、组、集合或其他合适的划分。例如,在所示示例中,计算设备110被分组为分别标识为第一、第二和第三主机组112a-112c 的三个主机组。在所示示例中,主机组112a-112c中的每个分别可操作地耦合到对应的网络节点120a-120c,网络节点通常称为“架顶”或“TOR”网络节点。然后,TOR网络节点120a-120c可以可操作地耦合到附加网络节点120以形成允许计算设备110与外部网络140之间的通信的分层、平面、网状或其他合适类型的拓扑的计算机网络。在其他示例中,多个主机组112a-112c可以共享单个网络节点120。计算设备110实际上可以是任何类型的通用或专用计算设备。例如,这些计算设备可以是用户设备,诸如台式计算机、膝上型计算机、平板计算机、显示设备、相机、打印机或智能电话。然而,在数据中心环境中,这些计算设备可以是服务器设备,诸如应用服务器计算机、虚拟计算主机计算机或文件服务器计算机。此外,计算设备110可以单独地配置为提供计算、存储和/或其他合适的计算服务。
在一些示例中,计算设备110中的一个或多个是IoT设备、网关设备、包括部分或全部IoT支持服务的设备、包括部分或全部云后端的设备等,如下面更详细地讨论的。
说明性计算设备
图2是示出其中可以实现本技术的各方面的计算设备200的一个示例的图。计算设备200实际上可以是任何类型的通用或专用计算设备。例如,计算设备200可以是用户设备,诸如台式计算机、膝上型计算机、平板计算机、显示设备、相机、打印机、嵌入式设备、可编程逻辑控制器(PLC)或智能电话。同样地,计算设备200也可以是服务器设备,诸如应用服务器计算机、虚拟计算主计算机或文件服务器计算机,例如,计算设备200可以是图1的计算设备110或网络节点120的示例。计算设备200也可以是连接到网络以接收IoT服务的IoT设备。同样地,计算机设备200可以是图3-4B 中示出或参考的任何设备的示例,如下面更详细地讨论的。如图2所示,计算设备200包括处理电路210、操作存储器220、存储器控制器230、数据存储存储器250、输入接口260、输出接口270和网络适配器280。计算设备200的这些前面列出的组件中的每个包括至少一个硬件元件。
计算设备200包括被配置为执行指令的至少一个处理电路210,诸如用于实现本文中描述的工作负载、过程或技术的指令。处理电路210 可以包括微处理器、微控制器、图形处理器、协处理器、现场可编程门阵列、可编程逻辑器件、信号处理器或适合于处理数据的任何其他电路。上述指令以及其他数据(例如,数据集、元数据、操作系统指令等)可以在计算设备200的运行时期间存储在操作存储器220中。操作存储器 220还可以包括各种数据存储设备/组件中的任何一种,诸如易失性存储器、半易失性存储器、随机存取存储器、静态存储器、高速缓存、缓冲器或用于存储运行时信息的其他介质。在一个示例中,当计算设备200断电时,操作存储器220不保留信息。相反,作为引导或其他加载过程的一部分,计算设备200可以被配置为将指令从非易失性数据存储组件 (例如,数据存储组件250)传输到操作存储器220。
操作存储器220可以包括第四代双倍数据速率(DDR4)存储器、第三代双倍数据速率(DDR3)存储器、其他动态随机存取存储器 (DRAM)、高带宽存储器(HBM)、混合存储器立方体存储器、3D 堆叠存储器、静态随机存取存储器(SRAM)或其他存储器,并且这种存储器可以包括集成到DIMM、SIMM、SODIMM或其他封装件上的一个或多个存储器电路。这样的操作存储器模块或设备可以根据通道、体(rank)和库(bank)来组织。例如,操作存储器设备可以经由通道中的存储器控制器230耦合到处理电路210。计算设备200的一个示例可以每个通道包括一个或两个DIMM,其中每个通道具有一个或两个体。体内的操作存储器可以与共享时钟、共享地址和命令总线一起操作。而且,操作存储器设备可以被组织成几个存储库,其中存储库可以被认为是由行和列寻址的阵列。基于这种操作存储器组织,操作存储器内的物理地址可以由通道、体、存储库、行和列的元组来引用。
尽管有上述讨论,但是操作存储器220具体地不包括或包含通信介质、任何通信介质或任何信号本身。
存储器控制器230被配置为将处理电路210接口连接到操作存储器 220。例如,存储器控制器230可以被配置为接口连接操作存储器220 与处理电路210之间的命令、地址和数据。存储器控制器230也可以被配置为抽象或以其他方式管理处理电路210的存储器管理的某些方面。虽然存储器控制器230被示出为与处理电路210分开的单个存储器控制器,但是在其他示例中,可以采用多个存储器控制器,(多个)存储器控制器可以与操作存储器220集成,等等。此外,(多个)存储器控制器可以集成到处理电路210中。这些和其他变化是可能的。
在计算设备200中,数据存储存储器250、输入接口260、输出接口 270和网络适配器280通过总线240接口连接到处理电路210。虽然图2 将总线240示出为单个无源总线,但是其他配置也可以适当地用于将数据存储存储器250、输入接口260、输出接口270或网络适配器280接口连接到处理电路210,诸如总线集合、点对点链路的集合、输入/输出控制器、桥接器、其他接口电路或其任何集合。
在计算设备200中,数据存储存储器250用于长期非易失性数据存储。数据存储存储器250可以包括各种非易失性数据存储设备/组件中的任何一种,诸如非易失性存储器、磁盘、磁盘驱动器、硬盘驱动器、固态驱动器或可以用于信息的非易失性存储的任何其他介质。然而,数据存储存储器250具体地不包括或包含通信介质、任何通信介质或任何信号本身。与操作存储器220相反,数据存储存储器250被计算设备200 用于非易失性长期数据存储,而不是用于运行时数据存储。
此外,计算设备200可以包括或耦合到任何类型的处理器可读介质,诸如处理器可读存储介质(例如,操作存储器220和数据存储存储器250) 和通信介质(例如,通信信号和无线电波)。虽然术语处理器可读存储介质包括操作存储器220和数据存储存储器250(无论是以单数还是复数形式使用),但是在整个说明书和权利要求中的术语“处理器可读存储介质”在本文中定义为使得术语“处理器可读存储介质”具体地排除并且不包括通信介质、任何通信介质或任何信号本身。然而,术语“处理器可读存储介质”确实包含处理器高速缓存、随机存取存储器(RAM)、寄存器存储器等。
计算设备200还包括可以被配置为使得计算设备200能够从用户或从其他设备接收输入的输入接口260。另外,计算设备200包括可以被配置为从计算设备200提供输出的输出接口270。在一个示例中,输出接口270包括帧缓冲器、图形处理器、图形处理器或加速器,并且被配置为绘制用于在单独的可视显示设备(诸如监测器、投影仪、虚拟计算客户端计算机等)上呈现的显示。在另一示例中,输出接口270包括可视显示设备,并且被配置为绘制和呈现用于观看的显示。
在所示示例中,计算设备200被配置为经由网络适配器280与其他计算设备或实体通信。网络适配器280可以包括有线网络适配器,例如以太网适配器、令牌环适配器或数字订户线(DSL)适配器。网络适配器280还可以包括无线网络适配器,例如Wi-Fi适配器、Bluetooth适配器、ZigBee适配器、长期演进(LTE)适配器或5G适配器。
尽管计算设备200被示出为具有以特定布置而配置的某些组件,但是这些组件和布置仅仅是可以采用该技术的计算设备的一个示例。在其他示例中,数据存储存储器250、输入接口260、输出接口270或网络适配器280可以直接耦合到处理电路210,或者经由输入/输出控制器、桥接器或其他接口耦合电路到处理电路210。该技术的其他变体是可能的。
计算设备200的一些示例包括适于存储运行时数据的至少一个存储器(例如,操作存储器220)和分别适于执行处理器可执行代码的至少一个处理器(例如,处理单元210),这些处理器可执行代码响应于执行而使得计算设备200能够执行动作。在一些示例中,计算设备200能够执行诸如图4A-4B的过程中的动作或者下面由图3中的一个或多个计算设备执行的过程中的动作等动作。
说明性系统
图3是示出用于IoT数据控制的系统(300)的示例的框图。系统 300可以包括网络330、IoT支持服务351、IoT设备341-343、用户设备 311和312、以及设备门户服务313,它们都连接到网络330。设备门户服务313包括提供设备门户的一个或多个设备。
术语“IoT设备”是指旨在利用IoT服务的设备。IoT设备实际上可以包括连接到云以使用IoT服务的任何设备,包括用于遥测收集或任何其他目的。IoT设备包括可以连接到网络以利用IoT服务的任何设备。IoT 设备可以包括日常物品,诸如烤面包机、咖啡机、恒温器系统、洗衣机、干衣机、灯、汽车等。IoT设备还可以包括例如“智能”建筑物中的各种设备,包括灯、温度传感器、湿度传感器、占用传感器等。IoT设备还可以包括诸如微控制器等设备、诸如射频识别(RFID)电路等无源设备、由磁场供电的电路等。IoT设备的IoT服务可以用于设备自动化、数据捕获、提供警报、设置个性化以及很多其他应用。
术语“IoT支持服务”是指诸如分布式系统等设备或多个设备,在一些示例中,IoT设备在网络上连接到该设备以获取IoT服务。在一些示例中,IoT支持服务是IoT集线器。在一些示例中,IoT集线器被排除,并且IoT设备直接或通过一个或多个中介与应用后端通信,而不包括IoT 集线器,并且应用后端中的软件组件作为IoT支持服务进行操作。IoT 设备经由与IoT支持服务的通信来接收IoT服务。
IoT设备341-343、用户设备311和312、和/或包括IoT支持服务351 和/或设备门户服务313的设备中的每个可以包括图2的计算设备200的示例。术语“IoT支持服务”不限于一种特定类型的IoT服务,而是指在供应之后IoT设备关于至少一个IoT解决方案或IoT服务而与之通信的设备。也就是说,在整个说明书和权利要求书中使用的术语“IoT支持服务”对于任何IoT解决方案是通用的。术语“IoT支持服务”仅是指所供应的IoT设备与之通信的IoT解决方案/IoT服务的一部分。在一些示例中,IoT设备与一个或多个应用后端之间的通信以IoT支持服务作为中介发生。IoT支持服务在云中,而IoT设备是边缘设备。图3和说明书中的图3的对应描述示出了用于说明性目的的示例系统,其不限制本公开的范围。
网络330可以包括一个或多个计算机网络,包括有线和/或无线网络,其中每个网络可以是例如无线网络、局域网(LAN)、广域网(WAN) 和/或诸如因特网等全球网络。在一组互连的LAN上,包括基于不同架构和协议的LAN,路由器用作LAN之间的链路,以使得消息能够从一个LAN发送到另一LAN。此外,LAN内的通信链路通常包括双绞线或同轴电缆,而网络之间的通信链路可以利用模拟电话线、全部或部分专用数字线路(包括T1、T2、T3和T4)、综合业务数字网(ISDN)、数字用户线(DSL)、无线链路(包括卫星链路)、或本领域技术人员已知的其他通信链路。此外,远程计算机和其他相关电子设备可以经由调制解调器和临时电话链路远程连接到LAN或WAN。网络330可以包括各种其他网络,诸如使用诸如6LoWPAN、ZigBee等本地网络协议的一个或多个网络。网络330可以在受调节和未受调节的射频(RF)频谱中包括LoRa、SigFox和/或窄带IoT(NB-IoT)网络等。一些IoT设备可以经由网络330中的不同网络连接到用户设备,而不是其他IoT设备。本质上,网络330包括信息可以在IoT支持服务351、IoT设备341和343、用户设备311和312、以及设备门户服务313之间行进的任何通信方法。尽管每个设备或服务被示出为连接到网络330,但是这并不表示每个设备与所示的每个其他设备通信。在一些示例中,所示出的一些设备/服务仅与经由一个或多个中间设备示出的一些其他设备/服务通信。此外,虽然网络330被示出为一个网络,在一些示例中,网络330可以替代地包括可以或可以不彼此连接的多个网络,其中一些设备被示出为通过多个网络中的一个网络彼此通信,而其他设备被示出为通过多个网络中的不同网络彼此通信。
作为一个示例,IoT设备341和343是旨在利用由IoT支持服务提供的IoT服务的设备,在一些示例中,IoT支持服务包括一个或多个IoT 支持服务,诸如IoT支持服务351。设备门户服务313包括在向IoT设备的用户提供设备门户时执行动作的设备或多个设备。
设备门户服务313是可以由IoT设备的用户用来管理包括IoT设备 341的IoT设备的IoT服务的服务。用户设备311和312是每个可以由用户用于包括用户的网络通信在内的功能的设备,包括与设备门户服务 313的网络通信以管理包括IoT设备341的IoT设备的IoT服务。
系统300可以包括比仅以示例方式示出的图3所示的更多或更少的设备。
说明性过程
为清楚起见,本文中描述的过程是在由系统的特定设备或组件以特定顺序执行的操作方面来描述的。然而,应当注意,其他过程不限于所述序列、设备或组件。例如,某些动作可以以不同的顺序执行,并行执行,省略,或者可以通过附加的动作或特征来补充,无论本文中是否描述了这样的序列、并行性、动作或特征。同样地,本公开中描述的任何技术可以并入所描述的过程或其他过程中,无论该技术是否结合过程具体描述。所公开的过程还可以在其他设备、组件或系统上或由其他设备、组件或系统执行,无论本文中是否描述了这样的设备、组件或系统。这些过程也可以以各种方式实现。例如,它们可以在制品上实现,例如,实现为存储在处理器可读存储介质中的处理器可读指令或者作为计算机实现的过程来执行。作为替代示例,这些过程可以被编码为处理器可执行指令并且经由通信介质传输。
图4A-4B是示出用于IoT设备许可的过程(420)的示例数据流的图。图4A-4B和说明书中的图4A-4B的对应描述示出了用于说明目的的示例过程,其不限制本公开的范围。在一些示例中,图4A-4B的过程由 IoT支持服务执行,诸如图3的IoT支持服务351。
在所示示例中,首先,发生步骤421。在步骤421,可以定义与IoT 设备相关联的类别。至少一个类别可以是分层的,使得第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是该层级之上的层级中的类别之一的子集。在一些示例中,类别是IoT设备上下文属性。
IoT设备上下文属性可以包括例如位置、设备类型(例如,温度传感器、湿度传感器、占用传感器)、OS版本、设备状态(例如,在线、离线)、输出值等。
如前所述,一个或多个IoT设备上下文属性可以是分层的。分层上下文属性的一个示例是按城市、建筑物、楼层和房间定义IoT设备的位置。在该示例中,城市是位置层级的顶级。此外,在该示例中,位置层级中的城市下方是建筑物。在该示例中,特定建筑物中的每个IoT设备也位于建筑物所在的城市。类似地,在该示例中,特定楼层的每个IoT 设备属于楼层所在的建筑物以及建筑物所在的城市。类似地,在该示例中,特定房间中的每个IoT设备属于房间所在的楼层,等等。以这种方式,在该示例中,位置元数据是分层的。在该示例中,当分配IoT设备所在的房间时,基于如何定义分层类别,还分配楼层、建筑物和城市。
尽管上面讨论了位置是分层的示例,但是除了位置之外的一个或多个上下文属性也可以是分层的。例如,在一些示例中,存在描述设备之间的物理连接的层级,如同用于启用下游设备的连接和协议转换的网关。
如图所示,在一些示例中接下来发生步骤422。在步骤422,可以定义用户信息。在一些示例中,用户信息定义对用户的许可。许可可以基于以下各项来定义:由IoT设备上下文属性定义的用户对哪些IoT设备具有访问权限,以及对于用户具有访问权限的每个IoT设备类别,授予什么类型的访问权限。例如,可能的访问权限包括读取、写入、更新、重新启动等。
在一些示例中,许可不仅包括对设备本身的许可,而且可以替代地或另外地包括对设备中的数据的许可。例如,在一些示例中,设备上的不同应用具有通过云提供的配置数据(通过后端应用,例如运营商门户),并且许可用于控制由在单个设备中运行的不同软件使用的对该配置的访问。
如图所示,在一些示例中接下来发生步骤423。在步骤423,可以存储与多个IoT设备相关联的元数据。元数据包括与多个IoT设备相关联的多个类别(例如,如先前在步骤421中定义的)。如前所述,在一些示例中,类别是IoT设备上下文属性。元数据还可以包括基于一个或多个设备上下文属性来将IoT设备分组在一起的设备集合。
在一些示例中,每次供应新的IoT设备时,存储与新的IoT设备相关联的元数据,包括与IoT设备相关联的每个IoT设备上下文属性的值。如果应当针对已经具有这些值的IoT设备改变任何值,例如基于已改变的上下文,则在一些示例中,改变该IoT设备的元数据中的对应IoT设备上下文属性。
例如,在一些示例中,如果设备的位置改变,则相应地改变存储在 IoT支持服务中的该IoT设备的元数据中的位置的对应IoT设备上下文属性。类似地,在一些示例中,如果IoT设备的OS版本改变,则相应地改变存储在IoT支持服务中的该IoT设备的元数据中的OS版本的对应 IoT设备上下文属性。在一些示例中,一些IoT设备上下文属性(诸如位置)可能针对一些IoT设备频繁地改变。在一些示例中,IoT设备上下文属性是以可伸缩且灵活的上下文感知的方式动态地保持最新的实时属性。
在一些示例中,可以基于IoT设备本身上的传感器来确定一些或所有属性,诸如来自GPS或来自IoT设备上的(多个)传感器和/或硬件。然后,IoT设备可以传送该信息并且将其发送给IoT支持服务,并且然后IoT支持服务可以基于从IoT设备接收的信息来设置或更新IoT支持服务中存储的元数据中的IoT设备上下文属性。在一些示例中,一些或所有元数据不存储在IoT支持服务本身中,而是IoT支持服务引起元数据被存储在IoT支持服务可以访问的一个或多个外部设备中。在一些示例中,IoT支持服务从多个IoT设备的至少一部分接收上下文信息,并且基于所接收的上下文信息更新所存储的元数据。
针对多个IoT设备存储的IoT设备上下文属性的一个示例如下所示。
IoT设备D1具有以下属性:
·位置=华盛顿州雷德蒙德
·子位置=43号楼
·传感器类型=温度传感器
·设备OS版本=1.99
设备D2具有以下属性:
·位置=华盛顿州雷德蒙德
·子位置=43号楼
·传感器类型=占用传感器
·设备OS版本=1.99
设备D3具有以下属性:
·位置=华盛顿州雷德蒙德
·子位置=43号楼
·传感器类型=湿度传感器
·设备OS版本=1.99
设备D4具有以下属性:
·位置=华盛顿州雷德蒙德
·子位置=50号楼
·传感器类型=湿度传感器
·设备OS版本=1.99
设备D5具有以下属性:
·位置=华盛顿州雷德蒙德
·子位置=50号楼
·传感器类型=湿度传感器
·设备OS版本=1.99
以上设备可以形成以下设备集合以便于管理和许可。在一些示例中,随着IoT设备上下文属性改变,这些集合随着时间自动更新,使得该集合是实时设备集合。
·集合1:D1、D2、D3分组在一起,因为它们位于43号楼,尽管它们是不同类型的传感器
·集合2:D3、D4、D5形成一个集合,因为它们都是湿度传感器,虽然在不同的建筑物中
·集合3:D1、D2、D3、D4、D5都在另一设备集合中,因为它们位于雷德蒙德。
上面示出的示例仅是一个示例。在其他示例中,除了诸如位置、设备类型和操作系统等属性之外,还可以使用附加的IoT设备上下文属性,诸如设备状态、输出值等。此外,虽然上面的示例示出了层级中具有两个级别(城市和建筑物)的分层位置值,但在其他示例中,位置属性可以在层级中具有多于两个级别。而且,在一些示例中,除了位置之外的一个或多个属性可以是分层的。
如图所示,在一些示例中接下来发生步骤424。在步骤424,可以存储与多个用户相关联的用户信息(例如,如步骤422中定义的)。
例如,用户信息可以包括存储在IoT支持服务中的每个用户的许可。当创建新用户时,也可以存储与该用户关联的任何许可。对于每个用户,用户信息可以包括由IoT设备上下文属性定义的用户对哪些IoT设备具有访问权限、以及对于用户可以访问的每个设备类别,用户具有哪种(哪些)类型的访问权限。例如,访问权限可以包括用户可以访问的任何特定类别的IoT设备的读取、写入、更新、重新启动等。在一些示例中,对于多个用户中的至少一个用户,用户信息包括基于多个类别中的至少一个类别的IoT设备集合,并且还包括对IoT设备集合的至少一个访问权限,包括读取访问、写入访问、更新访问或重启访问中的至少一项。
例如,使用上面讨论的示例集合1-3,可以向用户授予重置集合1 的许可。类似地,通过使用集合2,可以向特定用户授予对所有湿度传感器的许可。
根据上下文,可以向特定用户授予很多不同类型的许可。例如,可以向特定建筑物的接待员授予对该特定建筑物中的所有设备的读取访问。特定用户可以负责特定城市中的温度传感器更新,并且因此可以被授予对该城市中的所有温度传感器的更新访问。在一些示例中,具有更新权限的一些用户仅被授权访问占用率为零的房间中的设备,如该房间的占用传感器的输出所指示的。某些访问权限可能取决于设备是在线还是离线。
如图所示,在一些示例中接下来发生步骤425。在步骤425,可以接收与多个用户之一相关联并且还与对多个IoT设备中的至少一个的访问相关联的请求。该请求可以(为了被授予)要求用户具有某种特定类型的访问权限,诸如读取、写入、更新和/或重新启动权限。在一些示例中,该请求可以是来自用户的经由设备门户服务的请求,诸如图3的设备门户服务313。在一些示例中,该请求可以来自应用程序接口(API)调用。在一些示例中,当用户试图直接执行与设备相关联的动作时,包括与IoT 设备的直接物理交互,该请求可以来自IoT设备。在一些示例中,步骤 425的请求包括基于用户在线尝试的动作(诸如远程访问请求)并且还基于直接用物理IoT设备行动的用户尝试的动作而需要某种访问权限的请求。
如图所示,在一些示例中接下来发生判定框426。在判定框426,确定与请求相关联的用户是否具有对要完成的请求的适当访问权限。在一些示例中,该确定基于所存储的用户信息和所存储的元数据。例如,在涉及集合1-3的先前示例中,如果用户已经重置对集合1的访问,并且用户尝试使用设备门户服务(例如,图3的313)来重置设备D2,则确定将是肯定的。
如果判定框426的确定是肯定的,则该过程前进到框427。在框427,授予所请求的访问。然后,该过程可以前进到返回块,其中恢复其他处理。
如果判定框426的确定是否定的,则该过程前进到框428。在框428,拒绝所请求的访问。然后,该过程可以前进到返回块,其中恢复其他处理。
以这种方式,在框426-428,响应于该请求,基于所存储的用户信息和所存储的元数据来选择性地授予对多个IoT设备中的至少一个IoT 设备的访问。
结论
虽然以上“具体实施方式”描述了本技术的某些示例,并且描述了预期的最佳模式,但无论在文本中上面如何详细描述,该技术都可以以多种方式实现。细节可以在实现方面变化,同时仍然被包含在本文中描述的技术中。如上所述,在描述本技术的某些特征或方面时使用的特定术语不应当被视为暗示该术语在本文中被重新定义为限于与该术语相关联的任何特定特性、特征或方面。通常,以下权利要求中使用的术语不应当被解释为将技术限制于本文中公开的具体示例,除非“具体实施方式”明确地定义了这样的术语。因此,该技术的实际范围不仅包括所公开的示例,而且还包括实践或实现该技术的所有等效方式。

Claims (17)

1.一种用于通信的装置,包括:
包括一个或多个设备的IoT支持服务,所述设备包括适于存储针对所述设备的运行时数据的至少一个存储器、以及适于执行处理器可执行代码的至少一个处理器,所述处理器可执行代码响应于执行而使得所述IoT支持服务能够执行动作,所述动作包括:
存储与多个IoT设备相关联的元数据,其中所述元数据包括与所述多个IoT设备相关联的多个类别,并且其中所述多个类别中的至少第一类别是分层的,使得所述第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是所述层级之上的层级中的类别之一的子集;
存储与多个用户相关联的用户信息;
接收与所述多个用户之一相关联的并且还与对所述多个IoT设备中的至少一个IoT设备的访问相关联的请求;
响应于所述请求,基于所存储的所述用户信息和所存储的所述元数据来选择性地授予对所述多个IoT设备中的所述至少一个IoT设备的所述访问;
从所述多个IoT设备的至少一部分接收上下文信息;以及
基于所接收的所述上下文信息更新所存储的所述元数据。
2.根据权利要求1所述的装置,其中所述类别中的至少一个类别是位置、设备类型、操作系统版本、设备状态或输出值中的至少一项。
3.根据权利要求1所述的装置,其中对于所述多个用户中的至少一个用户,所述用户信息包括基于所述多个类别中的至少一个类别的IoT设备集合,并且还包括对所述IoT设备集合的至少一个访问权限,所述至少一个访问权限包括读取访问、写入访问、更新访问或重启访问中的至少一项。
4.根据权利要求1所述的装置,其中与所述用户相关联的所述请求由与所述IoT设备的直接物理交互造成。
5.根据权利要求1所述的装置,其中与所述用户相关联的所述请求是远程访问请求。
6.根据权利要求1所述的装置,其中所述第一类别是位置。
7.根据权利要求6所述的装置,其中所述第一类别的所述层级包括城市、建筑物和楼层。
8.一种用于物联网(IoT)认证的方法,包括:
对于多个IoT设备,建立与所述多个IoT设备相关联的多个类别,并且其中所述多个类别中的至少第一类别是分层的,使得所述第一类别包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是所述层级之上的层级中的类别之一的子集;
对于多个用户,建立与所述多个用户相关联的用户信息;
响应于与所述多个用户中的用户相关联的并且还与对所述多个IoT设备中的至少一个IoT设备的访问相关联的请求,经由至少一个处理器基于所述多个类别和所述用户信息选择性地授予对所述多个IoT设备中的所述至少一个IoT设备的所述访问;
从所述多个IoT设备的至少一部分接收上下文信息;以及
基于所接收的所述上下文信息更新所述多个类别。
9.根据权利要求8所述的方法,其中所述类别中的至少一个类别是位置、设备类型、操作系统版本、设备状态或输出值中的至少一项。
10.根据权利要求8所述的方法,其中对于所述多个用户中的至少一个用户,所述用户信息包括基于所述多个类别中的至少一个类别的IoT设备集合,并且还包括对所述IoT设备集合的至少一个访问权限,所述至少一个访问权限包括读取访问、写入访问、更新访问或重启访问中的至少一项。
11.根据权利要求8所述的方法,其中与所述用户相关联的所述请求由与所述IoT设备的直接物理交互造成。
12.根据权利要求8所述的方法,其中与所述用户相关联的所述请求是远程访问请求。
13.根据权利要求8所述的方法,其中所述第一类别是位置。
14.根据权利要求13所述的方法,其中所述第一类别的所述层级包括城市、建筑物和楼层。
15.一种处理器可读存储介质,其上存储有进程可执行代码,所述进程可执行代码在由至少一个处理器执行时启用动作,所述动作包括:
存储与多个IoT设备相关联的多个上下文属性,其中所述上下文属性与所述多个IoT设备相关联,并且其中所述多个上下文属性中的至少第一上下文属性是分层的,使得所述第一上下文属性包括至少两个层级,每个层级包括至少两个类别,并且使得低于另一层级的层级中的每个类别是所述层级之上的层级中的类别之一的子集;
存储与多个用户相关联的许可;
接收与所述多个用户中的用户相关联的并且还与对所述多个IoT设备中的至少一个IoT设备的访问相关联的请求;
响应于所述请求,基于所存储的所述许可和所存储的所述多个上下文属性来选择性地授予对所述多个IoT设备中的所述至少一个IoT设备的所述访问;
从所述多个IoT设备的至少一部分接收上下文信息;以及
基于所接收的所述上下文信息更新所存储的所述多个上下文属性。
16.根据权利要求15所述的处理器可读存储介质,其中所述多个上下文属性中的至少一个上下文属性是位置、设备类型、操作系统版本、设备状态或输出值中的至少一项。
17.根据权利要求15所述的处理器可读存储介质,其中对于所述多个用户中的至少一个用户,所存储的所述许可包括基于所述多个上下文属性中的至少一个上下文属性的IoT设备集合,并且还包括对所述IoT设备集合的至少一个访问权限,所述至少一个访问权限包括读取访问、写入访问、更新访问或重启访问中的至少一项。
CN201880011705.XA 2017-02-17 2018-02-12 用于分层设备集合的上下文感知设备许可 Active CN110301131B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/436,288 2017-02-17
US15/436,288 US10320795B2 (en) 2017-02-17 2017-02-17 Context-aware device permissioning for hierarchical device collections
PCT/US2018/017731 WO2018152038A1 (en) 2017-02-17 2018-02-12 Context-aware device permissioning for hierarchical device collections

Publications (2)

Publication Number Publication Date
CN110301131A CN110301131A (zh) 2019-10-01
CN110301131B true CN110301131B (zh) 2022-03-25

Family

ID=61527513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880011705.XA Active CN110301131B (zh) 2017-02-17 2018-02-12 用于分层设备集合的上下文感知设备许可

Country Status (4)

Country Link
US (2) US10320795B2 (zh)
EP (1) EP3583768A1 (zh)
CN (1) CN110301131B (zh)
WO (1) WO2018152038A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3070449A1 (en) * 2017-07-19 2019-01-24 Datacast Labs Llc Syndicated internet of things (iot) data systems and methods enabling enhanced iot supplier and application independent device functionality and services
US10630677B1 (en) * 2019-06-06 2020-04-21 NortonLifeLock Inc. Systems and methods for protecting users
US11695568B1 (en) 2019-10-01 2023-07-04 Equinix, Inc. Virtualized network functions verification using decentralized identifiers
US11777932B1 (en) * 2019-11-22 2023-10-03 Equinix, Inc. Controlling access to internet of things devices using verifiable credentials
US20230015697A1 (en) * 2021-07-13 2023-01-19 Citrix Systems, Inc. Application programming interface (api) authorization

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016172237A1 (en) * 2015-04-21 2016-10-27 Sequitur Labs, Inc. System and methods for context-aware and situation-aware secure, policy-based access control for computing devices

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2781048A (en) * 1954-05-11 1957-02-12 Donne Vincent Le Hair trimming template
WO2007111347A1 (ja) * 2006-03-28 2007-10-04 Universal Bio Research Co., Ltd. マイクロプレート処理装置およびマイクロプレート処理方法
US8671099B2 (en) 2011-12-28 2014-03-11 International Business Machines Corporation Clustering devices in an internet of things (‘IoT’)
US10257665B2 (en) 2013-02-25 2019-04-09 Qualcomm Incorporated Analytics engines for IoT devices
US9853826B2 (en) * 2013-02-25 2017-12-26 Qualcomm Incorporated Establishing groups of internet of things (IOT) devices and enabling communication among the groups of IOT devices

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016172237A1 (en) * 2015-04-21 2016-10-27 Sequitur Labs, Inc. System and methods for context-aware and situation-aware secure, policy-based access control for computing devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Access Control for Internet of Things;ILPO SUOMINEN;《URL:https://www.intopalo.com/blog/2015-05-25-access-control-for-internet-of-things/》;XP002781048;20150525;全文 *

Also Published As

Publication number Publication date
WO2018152038A1 (en) 2018-08-23
CN110301131A (zh) 2019-10-01
EP3583768A1 (en) 2019-12-25
US10979508B2 (en) 2021-04-13
US20190297082A1 (en) 2019-09-26
US10320795B2 (en) 2019-06-11
US20180241749A1 (en) 2018-08-23

Similar Documents

Publication Publication Date Title
US11204815B2 (en) Creation of modular applications with corresponding twins in the cloud
CN110301131B (zh) 用于分层设备集合的上下文感知设备许可
US11063835B2 (en) IoT cloud to cloud architecture
US10917706B2 (en) Configurable IoT device data collection
CN111328392B (zh) 部分供应的虚拟机的部署
CN109906594B (zh) 用于IoT设备认证的装置、方法和处理器可读存储介质
US11381647B2 (en) IoT device jobs
US10346345B2 (en) Core mapping
US11997438B2 (en) Declarative IoT data control

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