CN109983748A - 设备组的组命令管理 - Google Patents
设备组的组命令管理 Download PDFInfo
- Publication number
- CN109983748A CN109983748A CN201780057459.7A CN201780057459A CN109983748A CN 109983748 A CN109983748 A CN 109983748A CN 201780057459 A CN201780057459 A CN 201780057459A CN 109983748 A CN109983748 A CN 109983748A
- Authority
- CN
- China
- Prior art keywords
- equipment
- group
- physical
- state
- expression
- 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.)
- Pending
Links
- 230000014509 gene expression Effects 0.000 claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 44
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 23
- 238000004891 communication Methods 0.000 description 32
- 230000006870 function Effects 0.000 description 29
- 238000003860 storage Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 16
- 238000012790 confirmation Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000006855 networking Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 238000005057 refrigeration Methods 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013497 data interchange Methods 0.000 description 1
- 238000004851 dishwashing Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
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/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2807—Exchanging configuration information on appliance services in a home automation network
- H04L12/281—Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/2803—Home automation networks
- H04L12/2816—Controlling appliance services of a home automation network by calling their functionalities
-
- 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
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- 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
Abstract
描述了一种用于操作设备跟踪服务的技术,所述设备跟踪服务管理与设备表示组相关联的命令。示例方法可以包括接收与由设备跟踪服务管理的设备表示组相关联的组命令。所述设备表示组中包括的设备表示表示通过一个或多个计算机网络连接到所述设备跟踪服务的物理设备。响应于所述组命令,可以识别所述设备表示组中包括的所述设备表示,并且可以将执行由所述组命令指示的动作的指令发送到由所述设备表示所表示的所述物理设备。此后,可以接收所述物理设备的至少一部分已执行所述动作的指示。
Description
背景技术
电子设备已经在社会许多方面变得无处不在。在正常的一天中,人们可能会使用智能手机、平板设备以及膝上型计算机。汽车和商用车辆也已经开始依赖电子系统来控制和监测很多功能和操作。诸如洗衣机、干衣机以及冰箱的现代家用电器可以由电子系统驱动和控制。制造设施、建筑物供暖和制冷系统以及农业装备现在可以依赖电子传感器和控制系统。
通信技术的进步使得甚至相对简单的电子设备也能够通过计算机网络与其他设备及计算系统进行通信。例如,制造系统中的电子设备可以监测制造过程的各个方面并将监测数据传送到制造系统中的其他设备。类似地,嵌入在建筑物控制系统中的电子传感器可以监测和传送关于建筑物的供暖、制冷以及通风系统的操作的详细信息。为传输状态和接收外部控制通信的目的,甚至家用电器也提供了配置有通信功能的可能性。
附图说明
图1是示出了用于管理与设备表示组相关联的命令的示例系统的框图。
图2是示出了用于管理设备表示组的系统中包括的各种示例部件的框图。
图3是示出了用于使用命名逻辑信道管理与组命令相关联的通信的示例系统和方法的框图。
图4是示出了用于向设备提供对网络服务的访问的示例计算机联网架构的框图。
图5是示出了包括设备跟踪服务的示例服务提供商环境的框图。
图6是示出了用于管理由设备表示所表示的设备组的组命令的示例方法的框图。
图7是示出了用于执行由设备表示所表示的设备组的组命令的示例方法的流程图。
图8是示出了计算设备的示例的框图,所述计算设备可用来执行一种用于管理与设备表示组相关联的命令的方法。
具体实施方式
描述了一种用于管理与物理设备组相关联的命令的技术,所述物理设备组由设备跟踪服务存储的设备表示来表示。物理设备可以是创建大型可寻址设备网络的很多设备中的一者。整个“网络”通常被称为物联网(IoT)。物理设备可以是网络可寻址的和/或最终由设备跟踪服务可寻址的(例如,能够接收中继的消息),所述设备跟踪服务可以被配置为管理用于表示物理设备的状态的设备表示。
设备表示可以表示物理设备的一种或多种状态。在一个示例中,设备表示可以将设备状态表示为期望状态(即,物理设备可能被指示采用的状态)和记录状态(即,物理设备的最后已知状态)。可以部分地基于由设备表示所表示的一种或多种状态将设备表示分组为设备表示组。例如,可以基于设备类型(例如,“灯泡”)和设备组的最后已知状态(例如,“开”)对设备表示组进行分组。
设备跟踪服务可以被配置为管理针对由设备表示组所表示的设备组的动作的通信和请求。例如,设备跟踪服务的客户可以通过向设备跟踪服务发送组命令来请求指示设备组执行动作。作为一些非限制性示例,动作可以包括:将设备组打“开”或“关”闭;指示设备组“打开”或“关闭”;或者指示设备组显示通知、报告传感器数据或执行某种其他类型的设备功能。
响应于接收到组命令请求,设备跟踪服务可以被配置为指示设备组中包括的物理设备来执行组命令所指示的动作。在一个示例中,可以将由设备表示组所表示的期望状态更新为由组命令指示的期望状态,并且可以指示与设备表示相关联的物理设备采用由设备表示所表示的期望状态。作为具体示例,组命令可以包括针对一组灯泡的“开”的期望状态。响应于组命令,由与灯泡相关联的设备表示所表示的期望状态可以被更新为“开”,并且可以指示灯泡采用期望状态“开”。
在一个示例中,可以在发布到命名逻辑信道(例如,主题)的消息中发送使物理设备采用期望状态的指令,所述物理设备可以被注册到所述命名逻辑信道以接收发布到所述命名逻辑信道的消息。例如,发布/订阅代理服务可以维护一个已注册物理设备的列表。当消息发布到命名逻辑信道时,发布/订阅代理服务将消息转发到已注册物理设备列表中包括的物理设备。消息的转发可以使用由发布/订阅代理服务提供的并行处理快速地或(实际上)即时地进行。
响应于从设备跟踪服务接收到指令,物理设备可以执行指令中指定的动作并发送动作已执行的确认。例如,物理设备可以按照设备跟踪服务的指示采用期望状态或执行某种功能,并向设备跟踪服务发送物理设备已经采用所述状态或执行所述功能的确认。
图1是示出了系统100的高级示例的框图,所述系统用于管理与使用设备表示组112所表示的设备组114相关联的命令。系统100可以包括设备跟踪服务104,其被配置为管理表示物理设备110a-n的状态的设备表示108a-n。如图所示,设备跟踪服务104可以包括被部分地配置为执行组命令的组命令模块106。可以通过一个或多个网络从与设备跟踪服务104通信的应用程序、设备和/或服务102接收组命令。
设备表示108a-n可以是物理设备110a-n的电子表示(例如,数据对象),其可以经由网络(例如,互联网和服务提供商环境的虚拟网络)被引用或访问并且被更新,即使是在物理设备110a-n本身可能无法访问的时候。例如,为了节省电力,一些电池供电的和其他的物理设备110a-n可以在不主动地将数据发送到设备跟踪服务104时禁用无线电,或者可以仅在轮询设备跟踪服务104以进行更新时启用设备的无线电。由于这些和其他原因,物理设备110a-n仅可以间歇地连接到网络,而应用程序或服务102可以在物理设备110a-n可能未连接到网络或者无法以其他方式可用的时候尝试与物理设备110a-n交互。为了克服与间歇连接、网络带宽和/或计算容量相关联的限制,设备跟踪服务104可以维护物理设备110a-n的缓存设备表示108a-n,以允许应用程序和/或服务102在任何时间访问物理设备110a-n的信息,例如状态信息。
设备表示108a-n可以表示物理设备110a-n的一种或多种状态。可以使用期望状态(物理设备110a-n可能被指示采用的状态)和记录状态(物理设备110a-n的最后已知状态)来表示状态。可以使用指示物理设备110a-n采用指定状态的命令来控制物理设备110a-n的状态。例如,可以指示物理设备110a-n将设备的当前状态(例如,“关”或“关闭”)更新为期望状态(“开”或“打开”),或者可以指示物理设备110a-n执行某个动作,例如显示通知、执行动作、提供传感器数据等。
可以部分地基于由设备表示108a-n所表示的一种或多种状态将设备表示108a-n分组为设备表示组112。设备表示组112可以是静态的或动态的。例如,固定状态(例如,设备类型)可以用于定义设备表示组112,并且可变状态(例如,“开”和“关”)可以用于定义动态设备表示组112,对由设备表示108a-n所表示的状态的改变可导致设备表示108a-n被添加到动态设备表示组112或从其中移除。如应理解,可以组合任意数量的状态以定义设备表示组112。例如,可以使用可变状态和固定状态来定义设备表示组112。
组命令可以用于控制由设备组114中包括的物理设备110a-n所采用的状态。例如,组命令可以用于将设备组114中包括的物理设备110a-n的各种状态更新为组命令指定的状态(例如,将设备组114中包括的物理设备110a-n的各种状态从“关”或“关闭”更新为“开”或“打开”),或指示设备组114来执行动作(例如,将温度数据、位置数据或图像数据发送到设备跟踪服务104,显示通知或发出警报)。
应用程序、设备和/或服务102可以向设备跟踪服务104提交组命令,并且这些组命令可以被转发到被配置为执行这些组命令的组命令模块106。在一个示例中,应用程序和/或服务102可以将包括组命令的消息发布到与设备组114相关联的命名逻辑信道。命名逻辑信道可以由发布/订阅代理服务(未示出)管理,所述服务被配置为向客户端(包括应用程序和服务102、物理设备110a-n以及设备跟踪服务104)发送消息,所述客户端被注册以接收发布到命名逻辑信道的消息。设备跟踪服务104可以被订阅到允许设备跟踪服务104接收包含组命令的消息的命名逻辑信道。在另一示例中,API(应用程序编程接口)调用可以被暴露给应用程序和/或服务102,使得应用程序和/或服务102能够使用API调用向设备跟踪服务104做出组命令请求。
在一个示例中,执行对设备组114的组命令可以涉及识别在与设备组114相关联的设备表示组112中包括的设备表示108a-n并且将由设备表示108a-n所表示的期望状态更新为组命令指定的状态。可以使用各种方法来执行更新设备组114的状态的组命令。作为一个示例,可以并行执行组命令,使得设备表示组112可以被划分为子组,并且可以在子组之间并行执行组命令。作为另一个示例,可以步进方式执行组命令,使得设备组114可以采用由关联设备表示108a-n所表示的状态序列。此外,状态改变之间的时间延迟可以通过对设备表示组112中包括的设备表示108a-n进行的定时状态改变来实现,从而导致了在指示物理设备110a-n采用关联设备表示108a-n的状态的消息之间的时间延迟。
在一个示例中,设备表示组112的组定义可以用于识别设备表示组112中包括的个别设备表示108a-n。组定义可以包括成员资格参数,其可以用于识别具有与成员资格参数对应的一种或多种状态的设备表示108a-n。例如,可以使用一个或多个成员资格参数来查询设备表示108a-n,并且可以响应于所述查询而返回被识别为与成员资格参数对应的由设备表示108a-n所表示的设备状态。在另一个示例中,可以使用设备表示组112的组注册表来识别设备表示108a-n,所述组注册表包括设备表示108a-n的标识符。设备表示组112中包括的设备表示108a-n的标识符可用于向设备表示108a-n查询由设备表示108a-n所表示的设备状态。
在一些示例中,设备表示组112的组定义可以包括成员资格参数,所述参数指定需要包括在设备表示组112中的认证信息。认证信息可以包括但不限于令牌、数字权利、数字证书和/或公钥-私钥对中的公钥。在识别或生成设备表示组112时,认证信息可以与其他成员资格参数一起用来查询设备表示108a-n并识别与认证信息相关联的设备表示108a-n。例如,客户认证信息可以用于响应于执行组命令的客户请求来识别对客户可访问的设备表示108a-n。
在由设备表示108a-n所表示的期望状态已经被更新为由组命令指定的状态之后,可以指示与设备表示108a-n相关联的物理设备110a-n采用期望状态。在一个示例中,对设备组114的执行动作(例如,采用期望状态或执行功能)的指令可以包括在发布到由物理设备110a-n订阅的命名逻辑信道的消息中。物理设备110a-n可以接收所述消息并执行所述动作。在另一个示例中,可以指示物理设备110a-n在物理设备110a-n下一次连接到设备跟踪服务104时执行所述动作。在又一个示例中,设备跟踪服务104可以使用物理设备110a-n的网络地址与个别物理设备110a-n建立网络连接,并且向物理设备110a-n发送执行所述动作的指令,使得可以经由个别网络连接将所述指令发送到设备组114中包括的物理设备110a-n中的每一个。
在采用期望状态之后,设备组114中包括的物理设备110a-n可以将状态变化报告给设备跟踪服务104。在组命令指示物理设备110a-n将当前状态更新为期望状态的情况下,物理设备110a-n可以向设备跟踪服务104报告实际状态,并且由设备表示108a-n所表示的记录状态可以被更新为表示物理设备110a-n的实际状态。在一个示例中,物理设备110a-n可以向由设备跟踪服务104订阅的命名逻辑信道发布指示物理设备110a-n已经采用期望状态的消息。设备跟踪服务104可以从物理设备110a-n接收个别消息,并且响应于接收到所述消息,将由相应设备表示108a-n所表示的记录状态更新为物理设备110a-n的实际状态。
在一些示例中,可以指示设备组114中包括的物理设备110a-n来执行组命令指定的动作,而无需首先更新与设备组114相关联的设备表示组112。例如,响应于指示设备组114执行设备功能的组命令(例如,获得传感器数据,显示信息,发出警报等),可以指示设备组114中包括的物理设备110a-n来执行所述功能并确认所述功能已执行。此后,如果需要,可以更新与设备组114相关联的设备表示组112。作为一个具体示例,可以指示设备组114来显示通知并确认通知已经显示。作为另一个具体示例,可以指示设备组114来提供传感器数据,并且可以更新与设备组114相关联的设备表示组112以表示从设备组114接收的传感器数据。
在一个示例中,与组命令请求相关联的应用程序和/或服务102可以设置有与组命令的执行有关的信息。例如,可以将成功或失败的指示返回到应用程序和/或服务102,或者可以向应用程序和/或服务102提供指示物理设备110a-n采用期望状态或执行动作的进度的周期性更新。在一个示例中,确定物理设备110a-n是否已经采用期望状态可能涉及向与物理设备110a-n相关联的设备表示108a-n查询由设备表示108a-n所表示的记录状态,并确定所述记录状态是否对应于组命令所指示的期望状态。
关于组命令的结果或进度的信息可以包括在发布到命名逻辑信道的消息中,并且订阅到所述命名逻辑信道的应用程序和/或服务102可以接收所述消息。作为具体示例,关于组命令的执行的信息可以指示78%的物理设备110a-n已经采用期望状态或执行功能,并且22%的物理设备110a-n尚未采用期望状态或执行所述功能。在一个示例中,一旦超过用于接收物理设备110a-n已经采用期望状态的指示的响应阈值,就可以提供组命令的进度。例如,在从设备组114中包括的物理设备110a-n的5%、10%或20%接收到指示之后,可以向订阅接收消息的应用程序和/或服务102提供指示组命令的进度的消息。
在可以周期性地向应用程序和/或服务102提供关于组命令的执行进度的信息的示例中,所提供的信息可以指示哪些物理设备110a-n已经确认采用期望状态或执行功能,以及哪些物理设备110a-n尚未确认采用期望状态或执行功能。在一个示例中,设备表示108a-n的记录状态可以被分组为子组,并且子组状态可以返回到与组命令相关联的应用程序和/或服务102。子组状态可以是设备表示子组中包括的设备表示的记录状态的集合。作为具体示例,具有记录状态“开”的设备表示108a-n可以被分组为第一子组,具有记录状态“关”的设备表示108a-n可以被分组为第二子组,并且包括第一和第二子组的子组状态的信息可以周期性地返回到应用程序和/或服务102,直到每个设备表示108a-n的记录状态被更新为与组命令所指示的状态对应。
在另一个示例中,关于提供给应用程序和/或服务102的命令组操作的进度的信息可以包括子组信息。作为具体示例,建筑物可以包括连接到设备跟踪服务104的网络可寻址灯。每个楼层可以包含多个灯,并且可以通过查询被配置为表示这些灯的设备表示108a-n来为每个楼层确定一种子组状态(例如,“开”或“关”)。响应于打开建筑物中所有灯的组命令,可以返回每个楼层的子组状态。例如,可以向应用程序和/或服务102返回消息,指示第一层上的灯是“开”的,第二层上的灯是“开”的,并且第三层上的灯仍在转换为“开”。
在设备组114被指示执行功能(例如,显示通知)的情况下,可以由设备跟踪服务104来管理从设备组114中包括的物理设备110a-n接收的运行确认记录,并且应用程序和/或服务102可以设置有运行确认记录。作为例证,响应于接收到显示通知的指令,物理设备110a-n可以将已经显示所述通知的消息报告回设备跟踪服务104,由此可以更新运行确认记录,并且运行记录(例如,87%的设备已响应)可以包括在消息中,所述消息可以被周期性地提供给应用程序和/或服务102,直到每个物理设备110a-n已经确认显示了所述通知为止。
图2示出了可以在其上执行本技术的示例系统200的部件。系统200可以包括经由一个或多个网络与服务提供商环境202通信的多个物理设备230。说明性地,物理设备230可以包括连接的全球定位设备、温度传感器、水传感器、灯开关、灯泡、电源插座、手表、媒体播放器、语音命令设备、摄像机、安全系统、门锁、烟雾报警器、恒温器、天气传感器、车辆、手持设备以及配置为通过网络通信的任何其他设备。
服务提供商环境202可以包括托管各种部件的服务器。服务器204可以托管设备跟踪服务234,其被配置为管理与物理设备230相关联的设备表示232。在一个示例中,设备表示232可以包括在对象数据存储区区、NoSQL数据存储区、关系数据存储区或其他类型的数据存储区中使用如JSON(JavaScript对象表示法)或XML(可扩展标记语言)的数据交换格式存储的数据对象。设备表示232可以是对在服务提供商环境202外可操作的客户端236以及在服务提供商环境202内的服务器212上托管的应用程序和/或服务222可访问的。设备表示232可以在任何时间经由设备跟踪服务234访问客户端236、应用程序和服务222,而无需唤醒或以其他方式联系相关联的物理设备230。
设备跟踪服务234可以被配置为管理由设备表示232所表示的设备状态。例如,设备跟踪服务234可以响应于从客户端236和/或应用程序和服务222处接收的组命令,或者响应于从由设备表示232所表示的物理设备230处接收的输出,而更新由设备表示232所表示的设备状态。在一个示例中,设备表示232可以将设备状态表示为记录状态和期望状态。记录状态可以是由设备表示232所表示的物理设备230的最后已知状态,并且期望状态可以是物理设备230可能被指示采用的状态。例如,客户端236、应用程序和/或服务222可以请求物理设备组230采用期望状态。作为响应,设备跟踪服务234可以被配置为将表示物理设备组230的设备表示232的期望状态更新为所述期望状态。然后可以指示物理设备230采用所述期望状态。此后,可以接收物理设备230已经采用期望状态的指示,并且可以将设备表示232的记录状态更新为物理设备230采用的状态。
在一个示例中,设备跟踪服务234可以包括API接口模块216、组命令模块214以及其他模块。API接口模块216可以被配置为通过公开对客户端236、应用程序和/或服务222的API调用来向客户端236、应用程序和/或服务222提供一个到设备跟踪服务234的端点,所述调用可以用于将组命令请求以及其他类型的请求提交到设备跟踪服务234。可以使用托管在服务提供商环境202中的服务器218上的身份和访问管理服务220来对经由API接口模块216对设备跟踪服务234做出的请求进行认证。例如,可以对客户提交的组命令请求执行安全认证,以确保为客户分配允许客户提交指向物理设备组230的组命令的许可。
在另一个示例中,可以使用由客户端236、应用程序和/或服务222发布到命名逻辑信道的消息将组命令提交给设备跟踪服务234,所述命名逻辑信道与如关于图3描述的物理设备组230相关联。服务提供商环境202可以包括托管网关226的服务器208,所述网关被配置为使用发布/订阅代理服务来交换消息,实现一对一和一对多通信。一对多通信模式可以允许在设备跟踪服务234、物理设备230、客户端236、应用程序和服务222与被订阅来接收消息的其他部件之间交换消息。例如,部件可以将消息发布到命名逻辑信道(例如,主题),并且可以将消息分发给订阅的系统部件。网关226可以支持包括MQTT(消息队列遥测传输)、CoAP(约束应用协议)、HTTP(超文本传输协议)或HTTPS(超文本传输协议安全)协议以及专有或传统协议的协议。网关226可以被配置为使用服务提供商环境202中包括的计算资源来进行自动缩放以支持多个(数千、数百万甚至数十亿个)物理设备230。
可以将经由API接口模块216或网关226提交给设备跟踪服务234的组命令提供给被配置为执行所述组命令的组命令模块214。在一个示例中,组命令模块214可以被配置为响应于接收到组命令来识别与物理设备组230相关联的设备表示232。组定义238或组注册表224可用于识别设备表示232。组命令可以包括组标识符,其可以用于识别与所述组标识符相关联的组定义238或组注册表224。
组定义238可以包括用于识别与物理设备组230相关联的设备表示232的一个或多个成员资格参数。作为具体示例,组定义238可以用于识别位于建筑物第二层上的一组灯的设备表示232。在一个示例中,组定义238可以用于生成动态的设备表示组。动态的设备表示组可以部分地基于由所述组中包括的设备表示232所表示的可变设备状态。可以使用组定义238中包括的一个或多个成员资格参数来识别动态组中包括的设备表示232。成员资格参数可用于识别表示与成员资格参数对应的设备状态的设备表示232。作为具体示例,用于动态网络可寻址灯组的组定义238可以包括成员资格参数,用于识别表示网络可寻址灯并且具有记录状态“开”的设备表示232。
在一个示例中,组命令模块214可以被配置为将被识别为包括在设备表示组中的设备表示232更新为组命令中指示的状态。例如,组命令模块214可以被配置为对设备表示组中包括的设备表示232进行迭代并且将期望状态更新为组命令中指示的状态。然后可以指示与设备表示232相关联的物理设备230采用由设备表示232所表示的期望状态。例如,可以将包括指令的消息发布到物理设备230可能订阅的命名逻辑信道。接收到消息之后,物理设备230可以采用消息中指示的期望状态,并且向命名逻辑信道发布一条指示物理设备230已经采用期望状态的第二消息。可以在设备跟踪服务234处接收来自物理设备230的指示物理设备230已经采用期望状态的消息,并且可以将与物理设备230相关联的由设备表示232所表示的记录状态更新为消息中指示的状态。
组命令模块214可以被配置为将组命令成功或失败的指示返回到与组命令相关联的客户端236、应用程序和/或服务222。在一个示例中,组命令的成功或失败可以通过以下方式确定:查询与物理设备组230相关联的设备表示232的由设备表示232所表示的记录状态,并且确定记录状态是否对应于组命令所指示的状态。说明性地,在发布指示物理设备230采用组命令中所指示的状态的消息之后,组命令模块214可以在一段时间之后或者周期性地查询设备表示232以确定由设备表示232所表示的记录状态是否对应于组命令所指示的状态。在记录状态与组命令所指示的状态对应的情况下,组命令模块214可以向客户端236、应用程序和/或服务222发送组命令已成功的指示。在仅一部分由设备表示232所表示的记录状态与组命令所指示的状态对应的情况下,可以例如重试组命令并且可以向与组命令相关联的客户端236、应用程序和/或服务222通知组命令正在执行。
在一个示例中,组命令模块214可以被配置为将从物理设备230接收的指示物理设备230已经按照组命令的指示采用一种状态或者执行一个动作的确认进行集合,并且在从物理设备组230中包括的每个设备接收到确认之后通知客户端236、应用程序和/或服务222。在一些示例中,当从物理设备230接收到确认时,可以向客户端236、应用程序和/或服务222提供更新。例如,组命令模块214可以发送指示多个物理设备230已发送确认并且多个物理设备230尚未发送确认的消息。
在另一个示例中,可以使用托管在服务器210上的计算服务代码228的实例来执行组命令。例如,组命令模块214可以被配置为响应于组命令来识别设备表示组的组定义238,并且将组定义238提供给被配置为执行组命令的计算服务代码228的实例。计算服务代码228的实例可以被配置为使用组定义238识别设备表示232,并指示与设备表示232相关联的物理设备230来执行由组命令定义的动作。
计算服务代码228的实例可以包括可能类似于函数的程序代码段,并且程序代码可以接收参数、执行处理并提供返回值。在一个方面,计算服务代码可以在用于后端网络服务的托管计算服务代码平台上执行,所述平台在如关于图5描述的服务提供商环境中托管的计算实例上运行定义的计算服务代码。也就是说,计算服务代码228可以在响应于执行计算服务代码228的请求而运行代码的计算服务中执行,并且自动管理由那个计算服务代码228使用的计算资源。一旦已经执行计算服务代码228并且已经返回结果,就可以从用于执行计算服务代码228的计算实例或软件容器的存储器中移除计算服务代码228和结果。计算服务代码228用于构建可响应于事件和新信息的较小的按需应用程序。
系统200中包括的各种过程和/或其他功能可以在与一个或多个存储器模块通信的一个或多个处理器上执行。系统200可以包括多个服务器,这些服务器例如布置在一个或多个服务器库或计算机库或其他布置中。服务器可以使用管理程序、虚拟机监视器(VMM)以及其他虚拟化软件来支持服务提供商环境202,如稍后结合图4描述的。
设备表示232、组定义238以及组注册表224可以存储在由服务器206托管的一个或多个数据存储区240中。在一个示例中,关键值数据存储区可以用于存储设备表示232。术语“数据存储区”可以指能够存储、访问、组织和/或检索数据的任何设备或设备组合,其可以包括任意组合和数量的数据服务器、关系数据库、面向对象的数据库、集群存储系统、数据存储设备、数据仓库、平面文件以及任何集中式、分布式或集群环境中的和数据存储配置。数据存储区的存储系统部件可以包括存储系统,例如SAN(存储区域网络)、云存储网络、易失性或非易失性RAM、光学介质或硬盘驱动型介质。如可理解,数据存储区可以表示多个数据存储区。
可以相对于服务提供商环境202中包括的模块和服务进行并且可以根据不同技术实现的API调用、程序调用或其他网络命令包括但不限于代表性状态转移(REST)技术或简单对象访问协议(SOAP)技术。REST是分布式超媒体系统的架构风格。REST型API(也可称为REST型网络服务)是使用HTTP和REST技术实现的网络服务API。SOAP是一种用于在基于网络的服务的环境下交换信息的协议。
系统200使用的一个或多个网络可以包括任何有用的计算网络,包括内联网、互联网、局域网、广域网、无线数据网络或任何其他此类网络或其组合。用于此类系统的部件可以至少部分地依赖于所选择的网络和/或环境的类型。可以通过有线或无线连接及其组合来实现网络上的通信。
图2示出了可以结合本技术讨论的某些处理模块,并且这些处理模块可以实现为计算服务。在一个示例配置中,模块可以被认为是服务,其具有在服务器或其他计算机硬件上执行的一个或多个进程。此类服务可以是集中托管的功能或者可以接收请求并向其他服务或消费者设备提供输出的服务应用程序。例如,提供服务的模块可以被认为是托管在服务器、虚拟化服务环境、网格或集群计算系统中的按需计算。可以为每个模块提供API以使第二模块能够向第一模块发送请求并且从其中接收输出。此类API还可以允许第三方与模块相连接和发出请求并从模块接收输出。虽然图2示出了可以实现上述技术的系统的示例,但是很多其他类似或不同的环境也是可能的。以上讨论和说明的示例环境仅仅是代表性的而非限制性的。
图3是示出了用于使用命名逻辑信道管理与组命令相关联的通信的示例系统和方法300的框图。如前所述,命名逻辑信道(也称为“主题”)可以是由发布/订阅代理服务管理的通信信道。发布到命名逻辑信道的消息可以被分发到订阅命名逻辑信道的系统部件,从而实现系统部件之间的一对多通信。
如图所示,客户端302可以向设备跟踪服务304发送组命令请求。可以在发布到由设备跟踪服务304订阅的命名逻辑信道的消息中发送组命令请求,或者可以使用API调用来发送组命令请求。设备跟踪服务304可以接收组命令请求并且识别与组命令请求相关联的设备组310。例如,组命令请求可以包括可以用于识别设备组310的组名。作为说明,针对网络可寻址灯组的组命令请求可以包括组名“楼层1_灯_组”,其可以用于识别被分配了名称“楼层1_灯_组”的设备组310。
在识别与组命令请求相关联的设备组310之后,可以识别与设备组310相关联的命名逻辑信道306。可以注册设备组310中包括的物理设备308a-n以接收发布到命名逻辑信道306的消息。消息可以包含与组命令相关联的指令。例如,消息可以指示物理设备308a-n采用一种状态(例如,“开”或“关”、“关闭”或“打开”、“空”或“满”、显示信息、发出通知、获得传感器数据等)。
在已经识别与设备组310相关联的命名逻辑信道306之后,可以将包含组命令中指示的指令的消息发布到命名逻辑信道306。发布/订阅代理服务可以将消息转发给设备订阅。也就是说,可以使用推送方法将消息推送到设备端点,或者可以由物理设备308a-n从发布/订阅代理服务中提取消息。
物理设备308a-n可以接收消息并且向发布/订阅代理服务确认接收。然后,物理设备308a-n可以采用消息中指示的状态。在消息指示物理设备308a-n采用期望状态的情况下,物理设备308a-n可以被配置为将物理设备308a-n的状态更新为期望状态并且向命名逻辑信道306发布消息,确认已经采用期望状态。设备跟踪服务304可以接收发布到命名逻辑信道306的消息,并将由与物理设备308a-n相关联的设备表示所表示的记录状态更新为消息中指示的状态。在消息指示物理设备308a-n执行设备功能的情况下,物理设备308a-n可以执行所述功能并将确认已执行所述功能的消息发布到命名逻辑信道306,或者提供所请求的信息(例如,传感器数据)。
可以跟踪从物理设备308a-n接收的确认状态更新或功能执行的消息,从而使得可以确定组命令是否成功。可以将组命令的结果提供给客户端302(例如,成功或失败)。在一些示例中,客户端302可以设置有与组命令的执行有关的信息。例如,客户端302可以设置有与已经从物理设备308a-n接收的确认有关的信息,以及关于可能未能更新状态或执行动作的物理设备308a-n的信息。
图4是示出了先前描述的物理设备430可以与之通信的示例服务提供商环境410的框图。服务提供商环境410可被称为设备通信环境或系统,其包括经由网关服务器440对物理设备430可访问的各种资源,所述物理设备经由网络420访问网关服务器440。物理设备430可以访问服务提供商环境410以访问诸如设备跟踪服务470、数据存储以及计算处理特征的服务。在服务提供商环境410中操作的服务可以响应于来自物理设备430的请求和/或响应于服务内的计算操作而将数据和消息传送到物理设备430。
服务提供商环境410可以包括通信耦接的部件系统440、442、446、450和470,其进行操作以向物理设备430提供服务。网关服务器440可以被配置为提供物理设备430与服务提供商环境410之间的接口。网关服务器440从物理设备430接收请求,并将相应数据和消息转发到服务提供商环境410内的适当系统。同样地,当服务提供商环境410内的系统尝试将数据指令传送到物理设备430时,网关服务器440将那些请求路由到正确的物理设备430。
网关服务器440可以被适配成使用各种不同的计算和通信能力与各种物理设备430通信。例如,网关服务器440可以被适配成使用TCP(传输控制协议)或UDP(用户数据报协议)协议进行通信。同样地,网关服务器440可以被编程为使用任何合适的协议接收物理设备430并与之通信,包括例如MQTT、CoAP、HTTP以及HTTPS。网关服务器440可以被编程为将从物理设备430接收的数据和指令或消息转换为可以由服务提供商环境410中包括的其他服务器系统使用的格式。在一个示例中,网关服务器440可以被适配成将使用HTTPS协议接收的消息转换为适合于与服务提供商环境410内的其他服务器通信的JSON格式的消息。
网关服务器440可以存储或者可以控制关于物理设备430的信息的存储,所述物理设备已经形成到特定网关服务器440的连接,并且通常可以被特定网关服务器440依赖以与物理设备430进行通信。在一个示例中,网关服务器440可以在其上存储有指定特定物理设备430的信息,诸如设备标识符。对于从特定物理设备430建立的每个连接,网关服务器440还可以维护识别连接的信息。例如,可以为与特定物理设备430建立的每个连接生成并存储连接标识符。还可以存储与特定连接有关的信息。例如,网关服务器440可以存储识别在其上建立连接的网关服务器440的特定套接字的信息,以及识别物理设备430在连接上使用的特定协议的信息。可以使用诸如套接字和协议的信息以促进经由特定连接的进一步通信。
在一个示例中,网关服务器440可以经由任何合适的联网技术与设备注册表服务器442通信。设备注册表服务器442可以被适配成跟踪每个物理设备430的属性和能力。在示例中,设备注册表服务器442可以配备有指定物理设备430的属性的信息。设备注册表服务器442可以包括指定用于处理可以从物理设备430接收的各种请求的规则或逻辑(例如,自动化规则)的数据。设备注册表服务器442可以被编程为使用服务提供商环境410中的其他服务器理解的特定协议将以特定通信协议(例如HTTPS、MQTT、CoAP)接收的专用设备功能或命令转换为功能或命令。在一个示例中,设备注册表服务器442可以配备有的信息指定在从特定物理设备430接收到特定请求时,应请求将请求的有效载荷数据存储在特定网络服务服务器450中。设备注册表服务器442可以被类似地编程为从服务器442、450接收请求,并将这些请求转换为物理设备430理解的命令和协议。
设备跟踪服务服务器470维护每个连接的物理设备430的状态信息。在示例实施方案中,设备跟踪服务服务器470为已连接到服务提供商环境410的每个物理设备430维护指定多种状态的信息。在示例场景中,设备跟踪服务服务器470可以包括记录状态和期望状态。记录状态表示设备跟踪服务服务器470当前已知的特定物理设备430的现有状态。如前所述,设备跟踪服务服务器470可以被配置为管理设备表示组并且管理与组命令相关联的通信。设备跟踪服务服务器470与设备网关440通信,以将更新状态的请求传送到特定物理设备430。例如,设备跟踪服务器470可以向设备网关440传送更新物理设备430的状态的一系列状态转换命令。作为响应,设备网关440可以传送针对特定设备进行格式化的适当命令。
设备安全服务器446为连接到服务提供商环境410的物理设备430维护安全相关信息。在一个示例中,设备安全服务器446可以被编程为处理向服务提供商环境410注册物理设备430的请求。例如,诸如设备制造商的实体可以转发向服务提供商环境410注册物理设备430的请求。设备安全服务器446接收注册请求并将唯一设备标识符分配给在后续请求上使用设备标识符来访问服务提供商环境410的物理设备430。设备安全服务器446为每个注册的设备存储可能在设备注册过程中提供的认证信息。例如,注册设备430的请求可以包括识别物理设备430的信息,诸如设备序列号和用于认证物理设备430的信息。在一个示例中,所述信息可以包括数字证书并且可以包括公钥-私钥对的公钥。可以相对于为特定物理设备430分配的设备标识符来存储所述信息。当物理设备430随后尝试访问服务提供商环境410时,可以将所述请求路由到设备安全服务器446以进行评估。设备安全服务器446确定请求中提供的认证信息是否与相对于设备标识符存储并在注册过程中提供的认证信息一致。
设备安全服务器446还可以进一步被编程为处理将特定实体(个人或组织)与特定物理设备430相关联的请求。设备安全服务器446可以被适配成接收注册实体的请求,所述实体可以是例如被授权来控制特定物理设备430或与之通信的个人、用户、账户和/或组织。在一个示例中,可以从可能已经从制造商购买了物理设备430的个人或组织处接收请求。例如,所述设备可以是个人或组织从制造商购买的洗碗机、恒温器或照明组件。个人或组织可以发起向与所述组织相关联的个人或组织注册物理设备430的请求。所述请求可以被路由到网络服务服务器,所述网络服务服务器可以包括在服务提供商环境410中或者将所述请求传送到服务提供商环境410。所述请求识别物理设备430以及请求与物理设备430相关联的特定实体(个人或组织)。在一个示例中,所述请求可以包括在物理设备430向系统注册时分配的唯一设备标识符。所述请求可以进一步包括信息,所述信息唯一地识别注册为具有与特定物理设备430通信和/或对其进行控制的权限的实体。
设备安全服务器446存储有识别与设备标识符相关的特定实体的信息。当特定实体随后尝试控制数据或将其传送到特定物理设备430时,设备安全服务器446可以使用所述信息来确认特定实体被授权与特定物理设备430通信或对其进行控制。当尚未注册为被授权与物理设备430通信的实体尝试与物理设备430通信或对其进行控制时,设备安全服务器446可以使用存储在设备安全服务器446中的信息来拒绝所述请求。
网络服务服务器450可以是在处理来自物理设备430的请求时可由任一服务器440、442、446或470使用的任何资源或处理服务器。在一个示例中,网络服务服务器450可以提供数据存储和检索服务和/或按需处理能力。在示例场景中,网络服务服务器450可以是众多网络可访问服务中的任何一种,包括例如基于网络或云的服务。在一个示例中,网络服务服务器450可以被编程为为特定物理设备430和/或物理设备组430提供特定处理。例如,网络服务服务器450可以配备有软件,所述软件使控制特定制造操作的特定物理设备组430的操作协调。
服务器440、442、446、450和470可以经由任何合适的联网硬件和软件通信地耦接。例如,这些服务器可以经由局域网或广域网进行通信。
外部系统460可以出于各种目的访问服务提供商环境410。在一个示例中,外部系统460可以是被适配成将向服务提供商环境410注册物理设备430的请求进行转发的系统。例如,外部系统460可以包括由设备制造商操作或者为其操作的服务器,所述设备制造商向服务提供商环境410以及具体而言设备安全服务器446发送注册物理设备430以与服务提供商环境410一起操作的请求。类似地,外部系统460可以是被操作来向实体(个人或组织)提供网关以注册对特定物理设备430的所有权或控制与其关系的系统。
物理设备430可以是可以经由网络420与服务提供商环境410通信地耦接的任何设备。例如,物理设备430可以是诸如智能手机和平板电脑、汽车、诸如洗衣机和干衣机的电器、工业传感器、交换机、控制系统等的计算设备。在一个示例中,每个物理设备430可以通过网络420进行通信以便存储反映特定物理设备430的操作的数据和/或以便请求由例如网络服务服务器450提供的处理。虽然图3描绘了三个物理设备430,但是应理解,任意数量的物理设备430可以经由网关服务器440访问服务提供商环境410。此外,应理解,物理设备430可以采用各种不同的通信协议。例如,一些物理设备430可以使用TCP传输数据,而其他物理设备可以使用UDP传送数据。一些物理设备430可以使用MQTT,而其他物理设备可以使用CoAP,还有一些可以使用HTTP。还应理解,每个物理设备430可以被编程为在其请求中发送和接收与其他设备或者甚至与服务提供商环境410内的系统不兼容的特定功能或命令。网关服务器440可以被编程为接收此类请求并且如果需要便开始将其转换以便通过服务提供商环境410进行处理。
图5是示出了可用于执行和管理多个计算实例504a-e的示例服务提供商环境500的框图。具体而言,所描绘的服务提供商环境500示出了可能使用了本文所描述的技术的一个环境。服务提供商环境500可以是一种包括可以用于例如托管计算实例504a-e的各种虚拟化服务资源的环境。
服务提供商环境500可能能够将计算、存储和联网容量作为软件服务递送到最终接收者群体。在一个示例中,可以由组织或代表组织为组织建立服务提供商环境500。也就是说,服务提供商环境500可以提供“私有云环境”。在另一个示例中,服务提供商环境500可以支持多租户环境,其中多个客户可以独立操作(即,公共云环境)。一般而言,服务提供商环境500可以提供以下模型:基础设施即服务(“IaaS”)、平台即服务(“PaaS”)和/或软件即服务(“SaaS”)。也可以提供其他模型。对于IaaS模型,服务提供商环境500可以将计算机提供为物理或虚拟机和其他资源。虚拟机可以由管理程序作为客户端运行,如下面进一步描述的。PaaS模型递送可能包括操作系统、编程语言执行环境、数据库以及网络服务器的计算平台。
应用程序开发者可以在由服务提供商环境500提供的计算服务平台上开发和运行他们的软件解决方案,而不会产生购买和管理底层硬件和软件的费用。SaaS模型允许在服务提供商环境500中安装和操作应用程序软件。终端客户可以使用联网的客户端设备访问服务提供商环境500,诸如运行网络浏览器或其他轻量级客户端应用程序的台式计算机、膝上型计算机、平板电脑、智能手机等。熟悉本领域的人员将认识到,服务提供商环境500可以被描述为“云”环境。
具体说明的服务提供商环境500可以包括多个物理主机502a-e。虽然示出了六个物理主机,但是可以使用任意数量的物理主机,并且大型数据中心可以包括数千个物理主机。服务提供商环境500可以提供用于执行计算实例504a-e的计算资源。计算实例504a-e例如可以是虚拟机。虚拟机可以是执行诸如物理机的应用程序的机器(即计算机)的软件实现方式的实例。在虚拟机的示例中,每个物理主机502a-e可以被配置为执行能够执行实例的实例管理器508a-e。实例管理器508a-e可以是管理程序、虚拟机监视器(VMM)或被配置为使得能够在单个物理主机上执行多个计算实例504a-e的另一类型的程序。另外,每个计算实例504a-e可以被配置为执行一个或多个应用程序。
物理主机514可以执行被配置为执行先前描述的功能的设备跟踪服务516。在一个示例中,设备跟踪服务516可以由一个或多个计算实例504a-e托管。网络510可被用于将服务提供商环境500与物理主机502a-e、514进行互连。网络510可以是局域网(LAN)并且可以连接到广域网(WAN)512或互联网,使得最终客户可以访问服务提供商环境500。图5中示出的网络拓扑已经简化,可以利用更多的网络和联网设备来将本文公开的各种计算系统进行互连。
图6是示出了用于管理由设备表示所表示的设备组的组命令的示例方法600的流程图。所述方法可以包括接收与由设备表示组所表示的物理设备相关联的组命令,如在框610中。可以在被配置为管理设备表示组的设备跟踪服务处接收组命令。组命令可以包括使物理设备采用期望状态(例如,“开”、“关”、“打开”、“关闭”等)的指令。
响应于接收到组命令,可以识别设备表示组中包括的设备表示,如在框620中。例如,组命令可以包括设备表示组的标识符,其可以用于对识别设备表示组中包括的设备表示的组记录进行定位。在一个示例中,可以识别由设备表示所表示的每个物理设备的网络地址。物理设备的网络地址可用于向物理设备发送呈现呈现期望状态的指令。
在识别设备表示之后,如在框630中,可以将由每个设备表示所表示的期望状态更新为组命令所指示的状态,并且如在框640中,可以向由设备表示所表示的物理设备中的每一个发送指示物理设备采用期望状态的指令。也就是说,可以使用迭代过程来更新由设备表示所表示的期望状态,并指示由设备表示所表示的物理设备采用期望状态。如上所述,可以将采用期望状态的指令发送到与设备相关联的网络地址。在一个示例中,设备表示组可以被细分为多个设备表示子组,从而允许对设备表示执行更新和向物理设备发送指令并行化。
如在框650中,可以在跟踪服务处接收物理设备已经采用期望状态的指示,并且如在框660中,可以更新设备表示的记录状态以指示物理设备的报告状态。具体而言,响应于从物理设备接收到物理设备已经采用期望状态的指示,可以识别与物理设备相关联的设备表示,并且可以将由设备表示所表示的记录状态更新为物理设备报告的状态(即设备所采用的期望状态)。在每个物理设备已经向设备跟踪服务报告回已经采用期望状态之后,如在框670中,可以将已执行组命令的确认发送到与组命令相关联的客户端。
图7是示出了用于执行由设备表示所表示的设备组的组命令的示例方法700的流程图。如在框710中,可以接收与由设备跟踪服务所管理的设备表示组相关联的组命令。设备表示组中包括的设备表示可以表示通过一个或多个计算机网络连接到设备跟踪服务的物理设备。组命令可以指定设备组中包括的物理设备可能被指示执行的动作。说明性地,所述动作可以包括采用组命令中指定的期望状态,或者所述动作可以包括执行一个功能(例如,获得传感器数据、显示信息、闪烁指示灯、发出警报等)。
如在框720中,可以识别设备表示组中包括的设备表示。在一个示例中,组定义可以用于识别设备表示组中包括的设备表示。在一个示例中,可以识别动态表示组,其中动态组中包括的设备表示表示与动态组定义中包括的成员资格参数对应的设备状态。
在一个示例中,响应于接收到指定将设备组更新为期望状态的动作的组命令,可以将由设备表示所表示的期望状态更新为组命令中指示的期望状态。相应地,在设备组中包括的物理设备下一次连接到设备跟踪服务时,可以指示物理设备采用由与物理设备相关联的设备表示所表示的期望状态。
如在框730中,可以向由设备表示组中包括的设备表示所表示的物理设备发送执行由组命令指示的动作的指令。此后,如在框740中,可以接收到如下指示:由设备表示组中包括的设备表示所表示的物理设备的至少一部分已执行所述动作。在所述动作是将设备组更新为期望状态的示例中,在物理设备向设备跟踪服务确认物理设备已采用期望状态时,由设备表示所表示的记录状态可以被更新为物理设备采用的状态(大多数情况下将是期望状态)。
图8示出了其上可以执行本技术的模块的计算设备810。示出了计算设备810,可以在所述计算设备上执行本技术的高级示例。计算设备810可以包括与存储器设备820通信的一个或多个处理器812。计算设备810可以包括用于计算设备中的部件的本地通信接口818。例如,本地通信接口818可以是本地数据总线和/或可能期望的任何相关地址或控制总线。
存储器设备820可以包含可由一个或多个处理器812执行的模块824以及用于模块824的数据。例如,存储器设备820可以包括API接口模块、组命令模块以及其他模块。模块824可以执行先前描述的功能。数据存储区822还可以位于存储器设备820中,用于存储与模块824和其他应用程序相关的数据连同可由一个或多个处理器812执行的操作系统。
其他应用程序也可以存储在存储器设备820中并且可以由一个或多个处理器812执行。可以使用高级编程语言以软件的形式实现本说明书中讨论的部件或模块,所述高级编程语言使用多种方法进行编译、解译或执行。
计算设备还可以访问可由计算设备使用的I/O(输入/输出)设备814。联网设备816和类似通信设备可以包括在计算设备中。网络设备816可以是连接到互联网、LAN、WAN或其他计算网络的有线或无线联网设备。
显示为存储在存储器设备820中的部件或模块可以由一个或多个处理器812执行。术语“可执行”可以表示可以由处理器812执行的形式的程序文件。例如,更高级语言的程序可以被编译成机器代码,其格式可以被加载到存储器设备820的随机访问部分中并由处理器812执行,或者源代码可以被另一个可执行程序加载并且被解译为在存储器的随机访问部分中生成将由处理器执行的指令。可执行程序可以被存储在存储器设备820的任何部分或部件中。例如,存储器设备820可以是随机存取存储器(RAM)、只读存储器(ROM)、闪存、固态驱动器、存储器卡、硬盘驱动器、光盘、软盘、磁带或任何其他存储器部件。
处理器812可以表示多个处理器,并且存储器设备820可以表示与处理电路并行操作的多个存储器单元。这可以为系统中的过程和数据提供并行处理信道。本地接口818可以用作网络以促进任意多个处理器与多个存储器之间的通信。本地接口818可以使用设计用于协调通信(诸如负载平衡、批量数据传输)的附加系统和类似系统。
虽然本技术呈现的流程图可能暗示了特定的执行顺序,但执行顺序可能与示出的不同。例如,相对于所示的顺序,可以重新排列另外两个框的顺序。此外,连续示出的两个或更多个框可以并行执行或部分并行执行。在一些配置中,可以省略或跳过流程图中所示的一个或多个框。为增强实用性、核算、性能、测量、故障排除的目的或者出于类似原因,可以将任意数量的计数器、状态变量、告警信号量或消息添加到逻辑流程中。
本说明书中描述的一些功能单元已被标记为模块,以便更具体地强调其实现方式独立性。例如,模块可以实现为硬件电路,其包括定制VLSI电路或门阵列,诸如逻辑芯片、晶体管或其他分立元件的现成半导体。模块还可以在可编程硬件设备中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等。
模块也可以在软件中实现,以便由各种类型的处理器执行。所识别的可执行代码模块可以例如包括一个或多个计算机指令框,其可以被组织为对象、程序或功能。然而,所识别的模块的可执行文件不需要在物理上定位在一起,而是可以包括存储在不同位置中的不同指令,这些指令包括所述模块并且当逻辑地连接在一起时实现所述模块的所述目的。
实际上,可执行代码的模块可以是单个指令或许多指令,并且甚至可以在不同程序中以及若干存储器设备上分布在若干不同的代码段上。类似地,操作数据可以在本文中在模块内被识别和说明,并且可以被以任何合适的形式实现并且被组织在任何合适类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在不同位置上,包括在不同存储设备上。模块可以是被动或主动的,包括可操作来执行期望功能的代理。
本文中描述的技术还可以存储在包括易失性和非易失性、可移除和不可移除介质的计算机可读存储介质上,所述介质实现了用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何技术。计算机可读存储介质包括但不限于非暂时性介质,诸如RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储器、磁带盒、磁带、磁盘存储器或其他磁存储设备或者可用于存储所期望信息和所描述技术的任何其他计算机存储介质。
本文描述的设备还可以包含允许设备与其他设备通信的通信连接或联网装置和联网连接。通信连接是通信介质的示例。通信介质通常包含计算机可读指令、数据结构、程序模块以及调制数据信号(诸如载波或其他传输机制)中的其他数据,并且包括任何信息传递介质。“调制数据信号”表示信号具有以对信号中的信息进行编码的方式设置或改变其一个或多个特征。通过举例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质以及诸如声学、无线电频率、红外和其他无线介质的无线介质。本文使用的术语计算机可读介质包括通信介质。
本文对附图中所示的示例进行了参考并且本文中使用了特定语言来对其进行描述。然而,应理解,并没有因此意图限制本技术的范围。对本文所示特征的改变和进一步修改以及如本文所示的示例的附加应用将被认为在本说明书的范围内。
此外,所描述的特征、结构或特性可以在一个或多个示例中以任何合适的方式组合。在前面的描述中,提供了许多具体细节(诸如各种配置的示例),以提供对所描述技术的示例的透彻理解。然而,将认识到,可以在没有一个或多个具体细节的情况下,或者利用其他方法、部件、设备等来实践本技术。在其他情况下,未详细示出或描述熟知的结构或操作,以避免使本技术的各方面模糊。
鉴于以下条款,可以更好地理解上述内容:
1.一种用于管理与设备表示组相关联的组命令的系统,其包括:
至少一个处理器;
一个存储器设备,其包括指令,所述指令在由所述至少一个处理器执行时致使所述系统:
接收与由设备表示组中包括的设备表示所表示的物理设备相关联的组命令,所述设备表示组由维护所述设备表示的设备跟踪服务管理;
识别所述设备表示组中包括的所述设备表示;
对于所述设备表示组中包括的设备表示,将由所述设备表示组中包括的设备表示所表示的期望状态更新为所述组命令中指示的状态;
向由所述设备表示组中包括的所述设备表示所表示的所述物理设备发送采用所述期望状态的指令;
接收由所述设备表示组中包括的设备表示所表示的物理设备已经采用所述期望状态的第一指示;
更新由所述设备表示所表示的记录状态,以指示与所述设备表示相关联的所述物理设备所采用的所述期望状态;以及
提供所述组命令的执行进度。
2.根据条款1所述的系统,其中在发布到与所述设备表示组相关联的设备组相关联的命名逻辑信道的消息中接收所述组命令,其中所述命名逻辑信道由被配置为向客户端发送消息的发布/订阅代理服务管理,所述客户端被注册以接收针对所述命名逻辑信道的所述消息。
3.根据条款1所述的系统,其中到所述物理设备的采用所述期望状态的所述指令被发布到由所述物理设备订阅的命名逻辑信道。
4.根据条款1所述的系统,其中在发布到所述设备跟踪服务订阅的命名逻辑信道的消息中接收所述物理设备采用了所述期望状态的所述指示。
5.一种计算机实现的方法,其包括:
接收与由设备跟踪服务管理的设备表示组相关联的组命令,其中所述设备表示组中包括的设备表示表示通过一个或多个计算机网络连接到所述设备跟踪服务的物理设备;
识别所述设备表示组中包括的所述设备表示;
向由所述设备表示组中包括的所述设备表示所表示的所述物理设备发送执行由所述组命令指示的动作的指令;以及
接收由所述设备表示组中包括的所述设备表示所表示的所述物理设备的至少一部分已执行所述动作的指示。
6.根据条款5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括向被配置为执行与所述设备表示组相关联的所述组命令的计算服务代码的实例提供组定义。
7.根据条款5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别具有成员资格参数的组定义,所述成员资格参数定义用于识别所述设备表示组中包括的所述设备表示的所述设备表示组。
8.根据条款5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别动态表示组,其中所述设备表示表示与动态组定义中包括的成员资格参数对应的设备状态。
9.根据条款5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别由所述设备表示所表示的所述物理设备中的每一个的网络地址。
10.根据条款5所述的方法,其中将所述指令发送到所述物理设备进一步包括将执行所述动作的所述指令发送到与由所述设备表示所表示的所述物理设备相关联的网络地址。
11.根据条款5所述的方法,其进一步包括确定所述物理设备采用了所述组命令中指示的设备状态,其中响应于所述物理设备采用了所述期望状态的所述指示,更新由所述设备表示组中包括的所述设备表示所表示的设备状态,并且确定所述设备状态已被更新为与所述组命令中指示的所述状态对应。
12.根据条款5所述的方法,其进一步包括向与所述组命令相关联的客户端发送由所述设备表示组所表示的所述物理设备的至少一部分已经采用所述组命令中指示的设备状态的指示。
13.根据条款5所述的方法,其进一步包括周期性地向与所述组命令相关联的客户端发送消息,所述消息指示所述设备表示组中包括的所述设备表示的设备状态。
14.根据条款5所述的方法,其进一步包括将包括分组的设备状态的消息发送到与所述组命令相关联的客户端,其中已经向所述设备表示组中包括的所述设备表示查询了设备状态,并且将所述设备状态分组为所述分组的设备状态。
15.根据条款5所述的方法,其进一步包括向与所述组命令相关联的客户端发送消息,所述消息包括与设备表示子组相关联的子组状态,其中所述设备表示组中包括的所述设备表示被划分为设备表示子组。
16.根据条款15所述的方法,其中子组状态是由设备表示子组中包括的设备表示所表示的设备状态的集合。
17.一种非暂时性机器可读存储介质,其上包含指令,所述指令在被处理器执行时:
接收与由设备表示组中包括的设备表示所表示的物理设备相关联的组命令,其中所述物理设备连接到被配置为通过一个或多个网络管理所述设备表示的设备跟踪服务;
将第一消息发布到第一命名逻辑信道,所述消息包含采用由所述组命令指示的状态的指令,其中订阅所述物理设备以接收发布到所述第一命名逻辑信道的所述第一消息,所述第一命名逻辑信道被配置为向客户端发送消息的发布/订阅代理服务管理,所述客户端被注册以接收发布到命名逻辑信道的消息;
接收发布到第二命名逻辑信道的多个消息,所述多个消息指示由所述设备表示组中包括的所述设备表示所表示的所述物理设备的至少一部分已经采用所述状态;
更新所述设备表示组中包括的所述设备表示,以指示所述至少一部分物理设备采用的所述状态;以及
提供所述物理设备采用所述状态的进度。
18.根据条款17所述的非暂时性机器可读存储介质,其中当被所述处理器执行时所述指令进一步确定在提供所述物理设备采用所述状态的进度之前已经超过接收所述多个消息的响应阈值。
19.根据条款17所述的非暂时性机器可读存储介质,其中所述组命令包括在发布到由所述设备跟踪服务订阅的第三命名逻辑信道的消息中。
20.根据条款17所述的非暂时性机器可读存储介质,其中当被所述处理器执行时所述指令进一步确定由设备表示组中包括的设备表示所表示的所述物理设备中的每一个已经采用所述组命令指示的所述状态。
21.根据条款17所述的非暂时性机器可读存储介质,其中所述物理设备已经采用所述设备状态的指示被聚合并发布到所述客户端订阅的第三命名逻辑信道。
尽管已用结构特征和/或操作专用的语言描述了本主题,但应理解,所附权利要求中限定的主题不一定限制于上述具体特征和操作。确切地,以上描述的具体特征和动作是作为实现权利要求的示例形式公开的。在不脱离所描述技术的精神和范围的情况下,可以设计出很多修改和替代布置。
Claims (15)
1.一种用于管理与设备表示组相关联的组命令的系统,其包括:
至少一个处理器;
一个存储器设备,其包括指令,所述指令在由所述至少一个处理器执行时致使所述系统:
接收与由设备表示组中包括的设备表示所表示的物理设备相关联的组命令,所述设备表示组由维护所述设备表示的设备跟踪服务管理;
识别所述设备表示组中包括的所述设备表示;
对于所述设备表示组中包括的设备表示,将由所述设备表示组中包括的设备表示所表示的期望状态更新为所述组命令中指示的状态;
向由所述设备表示组中包括的所述设备表示所表示的所述物理设备发送采用所述期望状态的指令;
接收由所述设备表示组中包括的设备表示所表示的物理设备已经采用所述期望状态的第一指示;
更新由所述设备表示所表示的记录状态,以指示与所述设备表示相关联的所述物理设备所采用的所述期望状态;以及
提供所述组命令的执行进度。
2.根据权利要求1所述的系统,其中在发布到与所述设备表示组相关联的设备组相关联的命名逻辑信道的消息中接收所述组命令,其中所述命名逻辑信道由被配置为向客户端发送消息的发布/订阅代理服务管理,所述客户端被注册以接收针对所述命名逻辑信道的所述消息。
3.根据权利要求1所述的系统,其中到所述物理设备的采用所述期望状态的所述指令被发布到由所述物理设备订阅的命名逻辑信道。
4.根据权利要求1所述的系统,其中在发布到所述设备跟踪服务订阅的命名逻辑信道的消息中接收所述物理设备采用了所述期望状态的所述指示。
5.一种计算机实现的方法,其包括:
接收与由设备跟踪服务管理的设备表示组相关联的组命令,其中所述设备表示组中包括的设备表示表示通过一个或多个计算机网络连接到所述设备跟踪服务的物理设备;
识别所述设备表示组中包括的所述设备表示;
向由所述设备表示组中包括的所述设备表示所表示的所述物理设备发送执行由所述组命令指示的动作的指令;以及
接收由所述设备表示组中包括的所述设备表示所表示的所述物理设备的至少一部分已执行所述动作的指示。
6.根据权利要求5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括向被配置为执行与所述设备表示组相关联的所述组命令的计算服务代码的实例提供组定义。
7.根据权利要求5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别具有成员资格参数的组定义,所述成员资格参数定义用于识别所述设备表示组中包括的所述设备表示的所述设备表示组。
8.根据权利要求5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别动态表示组,其中所述设备表示表示与动态组定义中包括的成员资格参数对应的设备状态。
9.根据权利要求5所述的方法,其中识别所述设备表示组中包括的所述设备表示进一步包括识别由所述设备表示所表示的所述物理设备中的每一个的网络地址。
10.根据权利要求5所述的方法,其中将所述指令发送到所述物理设备进一步包括将执行所述动作的所述指令发送到与由所述设备表示所表示的所述物理设备相关联的网络地址。
11.根据权利要求5所述的方法,其进一步包括确定所述物理设备采用了所述组命令中指示的设备状态,其中响应于所述物理设备采用了所述期望状态的所述指示,更新由所述设备表示组中包括的所述设备表示所表示的设备状态,并且确定所述设备状态已被更新为与所述组命令中指示的所述状态对应。
12.根据权利要求5所述的方法,其进一步包括向与所述组命令相关联的客户端发送由所述设备表示组所表示的所述物理设备的至少一部分已经采用所述组命令中指示的设备状态的指示。
13.根据权利要求5所述的方法,其进一步包括周期性地向与所述组命令相关联的客户端发送消息,所述消息指示所述设备表示组中包括的所述设备表示的设备状态。
14.根据权利要求5所述的方法,其进一步包括将包括分组的设备状态的消息发送到与所述组命令相关联的客户端,其中已经向所述设备表示组中包括的所述设备表示查询了设备状态,并且将所述设备状态分组为所述分组的设备状态。
15.根据权利要求5所述的方法,其进一步包括向与所述组命令相关联的客户端发送消息,所述消息包括与设备表示子组相关联的子组状态,其中所述设备表示组中包括的所述设备表示被划分为设备表示子组。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/269,770 | 2016-09-19 | ||
US15/269,770 US10887174B2 (en) | 2016-09-19 | 2016-09-19 | Group command management for device groups |
PCT/US2017/051415 WO2018053041A1 (en) | 2016-09-19 | 2017-09-13 | Group command management for device groups |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109983748A true CN109983748A (zh) | 2019-07-05 |
Family
ID=59969240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780057459.7A Pending CN109983748A (zh) | 2016-09-19 | 2017-09-13 | 设备组的组命令管理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10887174B2 (zh) |
EP (1) | EP3516849B1 (zh) |
CN (1) | CN109983748A (zh) |
WO (1) | WO2018053041A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114301982A (zh) * | 2022-01-04 | 2022-04-08 | 徐工汉云技术股份有限公司 | 一种基于租户和网关的物联网设备终端接入系统及方法 |
US11620094B2 (en) * | 2019-10-31 | 2023-04-04 | Canon Kabushiki Kaisha | Storage medium, control method, and management system |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10270738B1 (en) | 2016-09-19 | 2019-04-23 | Amazon Technologies, Inc. | Aggregated group state for a group of device representations |
US10270875B1 (en) | 2016-09-19 | 2019-04-23 | Amazon Technologies, Inc. | Dynamic grouping of device representations |
US10592315B2 (en) * | 2017-08-28 | 2020-03-17 | General Electric Company | Software container messaging mechanism |
US10862988B2 (en) * | 2017-12-18 | 2020-12-08 | The Chinese University Of Hong Kong | On-demand real-time sensor data distribution system |
US10616035B1 (en) * | 2018-01-30 | 2020-04-07 | EMC IP Holding Company LLC | Methods and apparatus for device chat and management |
CN109167809B (zh) * | 2018-07-18 | 2021-11-26 | 浙江苍南仪表集团股份有限公司 | 一种物联网平台对接数据传输格式处理方法 |
US11366865B1 (en) * | 2018-09-05 | 2022-06-21 | Amazon Technologies, Inc. | Distributed querying of computing hubs |
CN112114985B (zh) * | 2020-09-22 | 2024-03-01 | 杭州海康威视系统技术有限公司 | 一种人脸信息的下发方法、装置及设备 |
KR20230000928A (ko) * | 2021-06-25 | 2023-01-03 | 센스타임 인터내셔널 피티이. 리미티드. | 장면 기기 관리 방법, 장치, 서버 및 컴퓨터 저장 매체 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481122A (zh) * | 2002-11-06 | 2004-03-10 | 联想(北京)有限公司 | 家庭网络中家电设备的控制和管理方法 |
CN103327683A (zh) * | 2012-02-29 | 2013-09-25 | 帕洛阿尔托研究中心公司 | 照明设备拓扑结构的自动发现 |
US20140241354A1 (en) * | 2013-02-25 | 2014-08-28 | Qualcomm Incorporated | Establishing groups of internet of things (iot) devices and enabling communication among the groups of iot devices |
CN104898449A (zh) * | 2015-06-04 | 2015-09-09 | 泰凌微电子(上海)有限公司 | 智能家居系统及其控制方法 |
US20150269215A1 (en) * | 2014-03-21 | 2015-09-24 | Oracle International Corporation | Dependency-aware transaction batching for data replication |
US20150319046A1 (en) * | 2014-05-01 | 2015-11-05 | Belkin International, Inc. | Controlling settings and attributes related to operation of devices in a network |
CN107070518A (zh) * | 2010-07-23 | 2017-08-18 | 英特尔公司 | 配置用于站组管理的接入点和管理站管理组的方法 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6889207B2 (en) * | 2002-06-18 | 2005-05-03 | Bellsouth Intellectual Property Corporation | Content control in a device environment |
US8994276B2 (en) * | 2006-03-28 | 2015-03-31 | Wireless Environment, Llc | Grid shifting system for a lighting circuit |
JP4127315B2 (ja) * | 2006-05-24 | 2008-07-30 | 株式会社日立製作所 | デバイス管理システム |
US20160112262A1 (en) * | 2014-10-18 | 2016-04-21 | Weaved, Inc. | Installation and configuration of connected devices |
US8812970B2 (en) * | 2008-02-27 | 2014-08-19 | Microsoft Corporation | Dynamic device state representation in a user interface |
KR101603290B1 (ko) * | 2011-12-14 | 2016-03-25 | 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 | 연결된 장치들을 위한 시맨틱 캐쉬 클라우드 서비스 |
EP2837205B1 (en) * | 2012-04-13 | 2017-02-15 | View, Inc. | Applications for controlling optically switchable devices |
CN106455272B (zh) * | 2013-02-20 | 2019-03-08 | 松下电器(美国)知识产权公司 | 信息终端的控制方法和程序以及记录介质 |
US9900171B2 (en) * | 2013-02-25 | 2018-02-20 | Qualcomm Incorporated | Methods to discover, configure, and leverage relationships in internet of things (IoT) networks |
US9292832B2 (en) * | 2013-02-25 | 2016-03-22 | Qualcomm Incorporated | Collaborative intelligence and decision-making in an IoT device group |
KR101538714B1 (ko) * | 2013-02-26 | 2015-07-22 | 주식회사 케이티 | M2m 네트워크를 이용하는 복수의 디바이스간 상관관계 분석을 통한 네트워크 운영 방법 및 시스템 |
EP3025483B1 (en) * | 2013-07-25 | 2022-09-21 | Convida Wireless, LLC | End-to-end m2m service layer sessions |
US10051068B2 (en) * | 2013-11-14 | 2018-08-14 | Qualcomm Incorporated | Mechanisms to route IoT notifications according to user activity and/or proximity detection |
US9628691B2 (en) * | 2013-11-14 | 2017-04-18 | Qualcomm Incorporated | Method and apparatus for identifying a physical IoT device |
US9635124B2 (en) * | 2014-01-15 | 2017-04-25 | Qualcomm Connected Experiences, Inc. | Conveying state changes using connectionless messaging and a store-and-forward cache |
EP3105888B1 (en) * | 2014-02-14 | 2020-05-06 | Intertrust Technologies Corporation | Network security systems and methods |
US9584482B2 (en) * | 2014-03-03 | 2017-02-28 | Qualcomm Connected Experiences, Inc. | Access control lists for private networks of system agnostic connected devices |
US20150256385A1 (en) * | 2014-03-04 | 2015-09-10 | Qualcomm Connected Experiences, Inc. | System and method for providing a human readable representation of an event and a human readable action in response to that event |
US9661058B2 (en) * | 2014-08-10 | 2017-05-23 | Belkin International Inc. | Grouping of network devices |
US20150365480A1 (en) * | 2014-06-16 | 2015-12-17 | Spidermonkey, LLC | Methods and systems for communicating with electronic devices |
US10575153B2 (en) * | 2014-07-18 | 2020-02-25 | Convida Wireless LLC | Enhanced operations between service layer and management layer in an M2M system by allowing the execution of a plurality of commands on a plurality of devices |
US10001759B2 (en) * | 2014-08-11 | 2018-06-19 | Qualcomm Incorporated | Method and apparatus for automatically generating an events dictionary in an internet of things (IOT) network |
US9647897B2 (en) * | 2014-08-20 | 2017-05-09 | Jamf Software, Llc | Dynamic grouping of managed devices |
US10942251B2 (en) * | 2014-09-03 | 2021-03-09 | CloudLeaf, Inc. | Asset location and management system with distributed processing |
US10045389B2 (en) * | 2014-12-04 | 2018-08-07 | Belkin International Inc. | Determining connectivity to a network device to optimize performance for controlling operation of network devices |
US10119714B2 (en) * | 2014-09-10 | 2018-11-06 | Cielo WiGle Inc. | System and method for remotely controlling IR-enabled appliances via networked device |
US10631123B2 (en) * | 2014-09-24 | 2020-04-21 | James Thomas O'Keeffe | System and method for user profile enabled smart building control |
US9196432B1 (en) * | 2014-09-24 | 2015-11-24 | James Thomas O'Keeffe | Smart electrical switch with audio capability |
US9461976B1 (en) * | 2015-03-25 | 2016-10-04 | Mcafee, Inc. | Goal-driven provisioning in IoT systems |
WO2016164899A1 (en) * | 2015-04-09 | 2016-10-13 | Convida Wireless, Llc | Registration management in the service layer |
US20160364553A1 (en) * | 2015-06-09 | 2016-12-15 | Intel Corporation | System, Apparatus And Method For Providing Protected Content In An Internet Of Things (IOT) Network |
US9946564B2 (en) * | 2015-06-23 | 2018-04-17 | International Business Machines Corporation | Adjusting virtual machine migration plans based on alert conditions related to future migrations |
US10958648B2 (en) | 2015-06-30 | 2021-03-23 | Amazon Technologies, Inc. | Device communication environment |
US10313455B2 (en) * | 2015-08-31 | 2019-06-04 | Ayla Networks, Inc. | Data streaming service for an internet-of-things platform |
US10404832B2 (en) * | 2015-08-31 | 2019-09-03 | Ayla Networks, Inc. | Management of gateway device using virtual gateway device |
US9946593B2 (en) * | 2015-09-18 | 2018-04-17 | Salesforce.Com, Inc. | Recovery strategy for a stream processing system |
US10505802B2 (en) * | 2015-11-02 | 2019-12-10 | Cisco Technology, Inc. | Adaptive subscriber-driven resource allocation for push-based monitoring |
US20170141968A1 (en) * | 2015-11-13 | 2017-05-18 | Acumera, Inc. | Updating Electronic Devices Using a Push Model |
US9960933B2 (en) * | 2015-12-30 | 2018-05-01 | Wipro Limited | Methods and systems for adaptive and context aware inter-internet of things (IoT) communication |
US11768004B2 (en) * | 2016-03-31 | 2023-09-26 | Johnson Controls Tyco IP Holdings LLP | HVAC device registration in a distributed building management system |
US20170311368A1 (en) * | 2016-04-25 | 2017-10-26 | Samsung Electronics Co., Ltd. | Methods and systems for managing inter device connectivity |
US10534746B2 (en) * | 2016-05-09 | 2020-01-14 | Droplit, Inc. | System and method for defining machine-to-machine communicating devices and defining and distributing computational tasks among same |
US10353549B2 (en) * | 2016-05-13 | 2019-07-16 | Servicenow, Inc. | Predictive watch face interface |
US10042628B2 (en) * | 2016-06-29 | 2018-08-07 | Vmware, Inc. | Automated upgrade system for a service-based distributed computer system |
WO2018004637A1 (en) * | 2016-07-01 | 2018-01-04 | Intel Corporation | Group management in reconfigurable machine-to-machine systems |
US11178523B2 (en) * | 2017-02-22 | 2021-11-16 | Telefonaktiebolaget Lm Ericsson (Publ) | First communication device, network device and methods therein for indentifying at least one second communication device providing a semantic representation |
-
2016
- 2016-09-19 US US15/269,770 patent/US10887174B2/en active Active
-
2017
- 2017-09-13 CN CN201780057459.7A patent/CN109983748A/zh active Pending
- 2017-09-13 EP EP17772812.8A patent/EP3516849B1/en active Active
- 2017-09-13 WO PCT/US2017/051415 patent/WO2018053041A1/en unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1481122A (zh) * | 2002-11-06 | 2004-03-10 | 联想(北京)有限公司 | 家庭网络中家电设备的控制和管理方法 |
CN107070518A (zh) * | 2010-07-23 | 2017-08-18 | 英特尔公司 | 配置用于站组管理的接入点和管理站管理组的方法 |
CN103327683A (zh) * | 2012-02-29 | 2013-09-25 | 帕洛阿尔托研究中心公司 | 照明设备拓扑结构的自动发现 |
US20140241354A1 (en) * | 2013-02-25 | 2014-08-28 | Qualcomm Incorporated | Establishing groups of internet of things (iot) devices and enabling communication among the groups of iot devices |
US20150269215A1 (en) * | 2014-03-21 | 2015-09-24 | Oracle International Corporation | Dependency-aware transaction batching for data replication |
US20150319046A1 (en) * | 2014-05-01 | 2015-11-05 | Belkin International, Inc. | Controlling settings and attributes related to operation of devices in a network |
CN104898449A (zh) * | 2015-06-04 | 2015-09-09 | 泰凌微电子(上海)有限公司 | 智能家居系统及其控制方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620094B2 (en) * | 2019-10-31 | 2023-04-04 | Canon Kabushiki Kaisha | Storage medium, control method, and management system |
CN114301982A (zh) * | 2022-01-04 | 2022-04-08 | 徐工汉云技术股份有限公司 | 一种基于租户和网关的物联网设备终端接入系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3516849A1 (en) | 2019-07-31 |
US20180083836A1 (en) | 2018-03-22 |
WO2018053041A1 (en) | 2018-03-22 |
EP3516849B1 (en) | 2020-11-04 |
US10887174B2 (en) | 2021-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109983748A (zh) | 设备组的组命令管理 | |
US10979299B1 (en) | Internet of things (IoT) device registration | |
US11290537B1 (en) | Discovery of device capabilities | |
US10833881B1 (en) | Distributing publication messages to devices | |
Sinha et al. | Building an E Ective IoT Ecosystem for Your Business | |
US11245579B1 (en) | Preconfigured device representations | |
TWI633771B (zh) | 對於已部署裝置的服務之編配與管理技術 | |
CN109314694B (zh) | 可重配置的机器对机器系统中的组管理 | |
CN110463164A (zh) | 装置凭证管理 | |
CN103858119B9 (zh) | 用于实现使用不同通信协议的设备之间的通信的系统、方法和/或设备 | |
CN111417925B (zh) | 用于装置设计的代码模块选择 | |
US11297003B1 (en) | Multi-tiered data processing service | |
US10412190B1 (en) | Device multi-step state transitions | |
US11283892B1 (en) | Dynamic grouping of device representations | |
US10091278B1 (en) | Data exchange services | |
WO2019211690A1 (en) | Internet of things resource optimization | |
US10382268B1 (en) | Configuration file distribution using a passive receiving device | |
US11271896B1 (en) | Aggregated group state for a group of device representations | |
US10802931B1 (en) | Management of shadowing for devices | |
US10841119B1 (en) | Device representation management using representation types | |
US11956639B2 (en) | Internet of things device provisioning | |
US11743068B2 (en) | Device subcomponent representations | |
Μαλλιά-Στολίδου | Internet of things: sensor function virtualization and end-to-end IoT cloud platforms |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |