CN117336338A - 用于物联网可配置事件和动作排序框架的装置和方法 - Google Patents
用于物联网可配置事件和动作排序框架的装置和方法 Download PDFInfo
- Publication number
- CN117336338A CN117336338A CN202311459381.5A CN202311459381A CN117336338A CN 117336338 A CN117336338 A CN 117336338A CN 202311459381 A CN202311459381 A CN 202311459381A CN 117336338 A CN117336338 A CN 117336338A
- Authority
- CN
- China
- Prior art keywords
- resource
- event
- easp
- actions
- iot
- 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
- 230000009471 action Effects 0.000 title claims abstract description 174
- 238000000034 method Methods 0.000 title claims abstract description 156
- 238000012163 sequencing technique Methods 0.000 title claims description 7
- 230000008569 process Effects 0.000 claims abstract description 96
- 230000007704 transition Effects 0.000 claims description 111
- 230000004044 response Effects 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 38
- 238000003860 storage Methods 0.000 claims description 29
- 230000001960 triggered effect Effects 0.000 claims description 15
- 230000007246 mechanism Effects 0.000 abstract description 15
- 239000010410 layer Substances 0.000 description 49
- 235000014101 wine Nutrition 0.000 description 45
- 238000000855 fermentation Methods 0.000 description 32
- 230000004151 fermentation Effects 0.000 description 32
- 230000006870 function Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 26
- JVTAAEKCZFNVCJ-UHFFFAOYSA-N lactic acid Chemical compound CC(O)C(O)=O JVTAAEKCZFNVCJ-UHFFFAOYSA-N 0.000 description 20
- 238000007726 management method Methods 0.000 description 19
- 238000013124 brewing process Methods 0.000 description 17
- 238000012546 transfer Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 12
- 238000012795 verification Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000004310 lactic acid Substances 0.000 description 9
- 235000014655 lactic acid Nutrition 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 230000032683 aging Effects 0.000 description 6
- 230000009118 appropriate response Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 238000005086 pumping Methods 0.000 description 6
- 241000219094 Vitaceae Species 0.000 description 5
- 238000007792 addition Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 235000021021 grapes Nutrition 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 241000196324 Embryophyta Species 0.000 description 4
- 241000219095 Vitis Species 0.000 description 4
- 235000009754 Vitis X bourquina Nutrition 0.000 description 4
- 235000012333 Vitis X labruscana Nutrition 0.000 description 4
- 235000014787 Vitis vinifera Nutrition 0.000 description 4
- 238000013475 authorization Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000005352 clarification Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 210000004027 cell Anatomy 0.000 description 3
- 210000001175 cerebrospinal fluid Anatomy 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 235000011389 fruit/vegetable juice Nutrition 0.000 description 3
- 235000019674 grape juice Nutrition 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000003825 pressing Methods 0.000 description 3
- 235000020095 red wine Nutrition 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 241000894006 Bacteria Species 0.000 description 2
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 240000004808 Saccharomyces cerevisiae Species 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 108091000099 cysteine desulfurase Proteins 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- QELJHCBNGDEXLD-UHFFFAOYSA-N nickel zinc Chemical compound [Ni].[Zn] QELJHCBNGDEXLD-UHFFFAOYSA-N 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004080 punching Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- BJEPYKJPYRNKOW-REOHCLBHSA-N (S)-malic acid Chemical compound OC(=O)[C@@H](O)CC(O)=O BJEPYKJPYRNKOW-REOHCLBHSA-N 0.000 description 1
- 108010045283 Cystathionine gamma-lyase Proteins 0.000 description 1
- LFQSCWFLJHTTHZ-UHFFFAOYSA-N Ethanol Chemical compound CCO LFQSCWFLJHTTHZ-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000700159 Rattus Species 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- BJEPYKJPYRNKOW-UHFFFAOYSA-N alpha-hydroxysuccinic acid Natural products OC(=O)C(O)CC(O)=O BJEPYKJPYRNKOW-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000003287 bathing Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 238000004325 capillary sieving electrophoresis Methods 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000008395 clarifying agent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000003306 harvesting Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 239000002346 layers by function Substances 0.000 description 1
- 238000002803 maceration Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000001630 malic acid Substances 0.000 description 1
- 235000011090 malic acid Nutrition 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 239000013049 sediment Substances 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 229920001864 tannin Polymers 0.000 description 1
- 239000001648 tannin Substances 0.000 description 1
- 235000018553 tannin Nutrition 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Classifications
-
- 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
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y20/00—Information sensed or collected by the things
- G16Y20/30—Information sensed or collected by the things relating to resources, e.g. consumed power
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
- G16Y40/35—Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/38—Services specially adapted for particular environments, situations or purposes for collecting sensor information
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及用于物联网可配置事件和动作排序框架的装置和方法。物联网(IoT)可配置事件和动作排序机制,用于将各种IoT事件互连在一起,以实现事件和动作排序处理,该处理可以高效地启用IoT***中可用的数据的复杂使用。
Description
本申请是申请号为201880052117.0、申请日为2018年09月06日、名称为“用于物联网可配置事件和动作排序框架的装置和方法”的发明专利申请的分案申请。
相关申请的交叉引用
本申请要求于2017年9月6日提交的标题为“Internet of Things ConfigurableEvent and Action Sequencing Framework”的美国临时专利申请No.62/554,753的权益,其内容通过引用并入本文。
背景技术
物联网(IoT)是一种新兴技术,其中涵盖日常对象的设备可以经由互联网或某种其它网络技术进行互连,以发送和接收数据。设备本身可以大或小,提供传感器数据或接收致动器命令以执行动作,并且可以具有不同的功能和能力。家庭中的IoT设备的一些示例是:存在传感器、灯、咖啡机、吊扇、冰箱、音频***和智能TV。复杂的IoT设备的范围可以从工业机器人和机械设备、互联网网关、智能电话、甚至到无人驾驶汽车(或其组件)。
可以构建IoT应用来处理由IoT设备生成的大量信息。可以执行分析和数据挖掘以提取由原始数据提供的模式或趋势。传统Web应用的范围主要限于可以执行的分析类型,这是因为对于特定应用,有限的数据集可用。有限一般是指种类,而不一定是指大小。另一方面,IoT技术提供了对由IoT设备提供的原始数据的各种大量数据集进行数据挖掘的能力。
可以有许多应用能够连接IoT***中的各种(有时是完全不同的)“事物”。例如,房主的日历时间表可以用在IoT家庭自动化***中,以交互并控制彼此不相关的各种IoT设备:咖啡机、扬声器、照明设备、HVAC***、车库门开启器、汽车等。早上醒来时,当天的新闻可以在用户洗澡时流式传输到浴室的扬声器上。存在传感器可以检测用户何时离开洗手间并开始冲泡咖啡。类似地,一旦用户准备好去上班,另一个存在传感器就可以远程启动车库中的汽车并打开车库门。然后,可以在车库门关闭后调整HVAC***以节省能源。
如可以看出的,上面提到的操作中的每一个都取决于先前发生的操作。IoT事件被定义为检测到特定事件,例如存在传感器检测到用户正在离开房间或车库门关闭。另一方面,IoT动作是响应该事件的发生而执行的结果操作——示例包括新闻流式传输到扬声器、自动远程启动汽车以及打开车库门。因此,IoT事件和动作彼此相互关联,并允许实现由IoT***提供的现实生活中的便利。在家庭自动化用例中,用户的时间表基于不同的发生来指示动作的顺序。一个动作集合可以基于用户的正常通勤来触发,而另一个动作集合可以在用户在家工作或休假时发生。如果用户起床较晚,那么动作的顺序甚至可以延迟。因此,这些动作是通过检测实时发生的事件而不是预先编程的时间表来触发的。
IoT技术的主要推动力之一是服务层(SL)架构的规范。诸如oneM2M和OCF之类的标准开发组织(SDO)正在定义可以用于实现IoT的架构组件。这些组件包括物理和虚拟实体、资源模型和表示、服务和能力、协议消息传递等。然后,实现这些标准的IoT设备能够相互通信,并提供IoT技术所承诺的种类和大小的大型数据集。
在SL架构内,提供了各种功能,利用这些功能,可以使用和处理搜集的数据。一种这样的功能是事件管理:在oneM2M中,该功能称为动作触发。开放式互联基金会(OpenConnectivity Foundation)具有有限的事件管理功能,如使用场景、规则和脚本的功能,但是该功能主要集中在自动化操作上,而不是处理具有多个动作的事件。事件管理是检测***中的事件并响应这些事件的发生执行一些结果操作的处理。在IoT***中,这是一项强大的能力,因为可以将来自许多来源和类型的数据组合在一起,以实现更智能的应用,如上述家庭自动化用例中所示。
发明内容
IoT架构仍在发展,并且试图确定如何最好地使用应用可用的大量数据。本文公开了用于将各种IoT事件互连在一起以实现可以高效地实现IoT***中可用数据的复杂使用的最终处理的IoT可配置事件和动作排序机制。
提供本发明内容是为了以简化的形式介绍选择的概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在识别要求保护的主题的关键特征或必要特征,也不旨在用于限制要求保护的主题的范围。此外,要求保护的主题不限于解决在本公开的任何部分中提到的任何或全部缺点的限制。
附图说明
可以从由以下结合附图的示例给出的描述中获得更详细的理解,其中:
图1图示了示例性红酒酿造过程;
图2图示了示例性IoT可配置事件和动作排序架构框架;
图3图示了示例性EASP资源层次结构;
图4图示了用于处理请求的示例性资源管理器过程;
图5图示了对IoT***过程的示例性执行单元访问核实;
图6图示了示例性执行单元状态处理流程;
图7A概述了可以用于更新酿酒过程的操作的步骤;
图7B图示了更新引擎利用的示例性用例;
图8图示了示例性更新引擎处理流程;
图9图示了用于酿酒用例的示例性oneM2M<easp>资源;
图10图示了用于酿酒用例的示例性oneM2M<eventState>资源;
图11图示了用于酿酒用例的示例性oneM2M<transition>资源;
图12图示了角色的示例性OCF架构示例;
图13图示了示例性工业工厂用例;
图14图示了EASP资源的示例***互式控制;
图15图示了示例性表,该示例性表可以显示在可以基于本文所公开的方法和***生成的图形用户界面上;
图16图示了对于oneM2M实施例和来自图1的酿酒过程的示例性显示;
图17A图示了其中可以实现所公开的主题的示例性机器到机器(M2M)或物联网(IoT)通信***;
图17B图示了可以在图17A所示的M2M/IoT通信***内使用的示例性架构;
图17C图示了可以在图17A所示的通信***内使用的示例性M2M/IoT终端或网关设备;以及
图17D图示了其中可以实施图17A的通信***的各方面的示例性计算***。
具体实施方式
IoT***提供许多能力来使用、挖掘和分析IoT设备可以在大小和种类上生成的大数据集。IoT***中的事件管理能力允许根据某些准则将各种数据源关联在一起,并执行(一个或多个)结果动作,以创建在***中可用的数据的更智能使用。这个能力虽然强大,但是提供了事件和结果操作的一维视图,将事件与用户偏好进行比较,如果匹配,那么***执行一些期望的操作。一些IoT用例可以要求基于某些事件的发生而执行不同的动作,这些事件可以动态地发生。常规服务层(SL)事件管理能力可能不支持这种功能,如果是这样的话,那么可能过于复杂且不够用户友好性而不能高效地实现这种功能。
常规的应用编程在IoT***中可能无法很好地扩展。本文公开的是一种***(例如,框架),其中鉴于服务层,这些用例的实现更加高效。服务层提供RESTful处理,其中可以使用服务层中可用的服务和资源来构建复杂的应用。所公开的EASP允许服务层高效地管理这些复杂应用的操作和/或更新。本文定义的资源(例如,EASP资源、事件状态(EventState)资源或过渡(Transition)资源)为EASP***提供了重要的支持。
红酒酿造用例可以说明IoT***中对更先进事件管理能力的需求。图1示出了收获葡萄后酿造红酒的步骤的高级过程。这些步骤一般可以描述如下:去梗和粉碎葡萄(步骤201)、浸渍(步骤202)、发酵(步骤203)、淋皮(pumpover)(步骤204)、压榨和抽走(pressandrack)(步骤205)、苹果乳酸发酵(步骤206)、桶陈化(barrelaging)(步骤207)以及澄清和装瓶(步骤208)。
在步骤201处,将收获的葡萄放入去梗机或传送带中以从梗中提取葡萄。此外,将葡萄粉碎以使果汁与皮混合并用于发酵。果汁和葡萄固体被称为“待发酵的葡萄汁”(“must”)。在步骤202处,将待发酵的葡萄汁传送到发酵罐并使其静置,以便获得风味、颜色和单宁。待发酵的葡萄汁被测试总酸度、糖含量和pH水平,并且如果其中的任何水平偏离,就进行校正以确保更好的葡萄酒。在步骤203处,将酵母添加到罐中以开始发酵过程。酵母将待发酵的葡萄汁中的糖转化为二氧化碳和酒精以生产葡萄酒。当待发酵的葡萄汁发酵时,产生热量,因此必须将温度控制在一定范围内以确保优质的葡萄酒。在整个发酵周期中,发酵温度将按照从60华氏度到70至85华氏度或80至90华氏度的安排来操作,最长可能需要两周。此外,定期监测糖水平以确定发酵何时完成。在发酵期间,葡萄固体(皮和种子)漂浮到顶部,被称为“酒帽”(“cap”)。在步骤204处,每天进行几次“淋皮”过程,以将罐底部的待发酵的葡萄汁泵送到酒帽的顶部,以确保均匀的混合物。如果使用工具将酒帽推回待发酵的葡萄汁下面,那个这个过程也被称为“冲压酒帽”。在这个过程期间中将温度调整到期望范围。
继续参考图1,一旦发酵完成,就在步骤205处将果汁(现为葡萄酒)排入储罐中,并将剩余的待发酵的葡萄汁(称为“果渣”)传送到压榨机。压榨机挤压果渣以获得剩余的葡萄酒,并将其与储罐中的葡萄酒结合。对于更高质量的葡萄酒,仅使用所排干的葡萄酒。在压榨之后,储罐中的葡萄酒留来沉降,并在底部形成一层称为“酒渣”(“lees”)的沉淀物。然后将葡萄酒“抽走”,这涉及将葡萄酒移至另一个罐中,以留下“酒渣”和任何可能使葡萄酒混浊的东西。在步骤206处,葡萄酒然后可以经历可选的第二发酵步骤,其中苹果酸被转化成乳酸。添加苹果乳酸(ML)细菌,该苹果乳酸细菌产生复合物,以使葡萄酒具有更多酒体。葡萄酒每周搅拌两次,并且温度保持在70至75华氏度之间。这个过程可能持续2至6周。一旦ML发酵完成,在步骤207处,就将葡萄酒再次抽走并将其传送到诸如桶之类的存储容器。在这个传送期间,可以调整总酸度和pH以改善葡萄酒。陈化过程需要55至60华氏度的恒定温度范围,每4至6周对葡萄酒进行一次品尝,并在必要时进行调整以确保葡萄酒发展良好。此外,如果将葡萄酒存储在桶中,那么湿度水平维持在65%到75%之间。这个步骤可能要花费数月至一年以上的时间,才能使葡萄酒为下一步做好准备。在步骤208处,葡萄酒可以经过澄清步骤。这个步骤涉及向葡萄酒添加澄清剂以去除葡萄酒中的任何不想要的元素,然后将该试剂从葡萄酒中滤除。此外,在将葡萄酒装瓶之前,可以进行任何最终调整(总酸度、pH、残留糖分等)。一旦装瓶,葡萄酒可以在两个月到几年之间的任何时间进一步陈化,因为随着年份增长而更好。
如从酿酒过程中可以看出的,涉及多个步骤以及酿酒的众多变量。IoT***可以被用于监测和控制如此复杂的过程的***中的各种“事物”。传感器可以被用于测量温度、pH、糖和总酸度水平,同时可以发送命令以控制用于“淋皮”以及用于压榨和抽走步骤的泵。由于从一个步骤到下一个步骤的过渡可以取决于传感器测量的结果以及该过程的先前步骤,因此可以很容易地将IoT***设计为将大部分酿酒过程自动化。
通过观察酿酒用例,对IoT***有各种要求,这些要求可能需要事件管理能力的先进实现。一个要求可以是响应特定事件的不同触发条件而使用多个动作,诸如基于酿酒用例中的糖水平或其它度量来确定前进到下一步骤。另一个要求可以涉及基于传感器测量的结果进行的调整。第三个要求可以是由于改变输入而更新应用的操作以及将更新集成到正常操作行为中的能力,如由酿酒过程期间调整总酸度、pH和糖水平的能力所示出的。
常规的IoT事件管理能力主要集中于单个事件的发生。它专注于事件的成功检测,并且不支持针对事件的不成功或替代发生的动作。由于关注单个事件,因此各种事件之间的交互需要定义多个单独的事件并配置它们的交互,这会是复杂或麻烦的。事件的添加或更新可以对现有事件造成涟漪效应,并可能要求暂时中止操作。在实时IoT操作中,这些限制降低了现有事件管理能力的有用性和益处。
IoT***的前景广阔而多样。预期数十亿个IoT设备将提供多种类型的数据,并用于多种用途。IoT的未来将产生大量数据集,利用这些数据集,可以使用来自许多不同来源的各种数据来创建新的、更智能的应用。因此,IoT应用变得越来越复杂,并且要求更多能力来启用这些更智能的使用。
IoT架构仍在发展,并且试图确定如何最好地使用可用于应用的大量数据。本文公开了用于将各种IoT事件互连在一起以实现可以启用IoT***中可用数据的复杂使用的最终处理的IoT可配置事件和动作排序机制。IoT可配置事件和动作排序可以包括以下内容:
·定义架构,在该架构中,复杂/分布式IoT***的事件互连在一起,以利用庞大的、变化的数据集和不断发展的***条件
·定义RESTful接口,在该接口中,资源和属性被用于动态地定义事件的互连并向用户暴露事件的互连,以进行监测和管理。这些资源组合在一起,构成结构合理的IoT处理,用于将事件与结果动作链接起来。
·定义过程,该过程用于在IoT处理主动运行时动态地更新IoT处理,以考虑***中不断发展的条件。
·提供用于指定不同IoT处理彼此之间交互的能力,以启用甚至更复杂的操作。这些交互可以涉及一个IoT处理触发另一个IoT处理的开始、停止、挂起、重新启动和重置,并且IoT处理可能彼此并行运行。
·定义过程,该过程用于通过与***中的IoT设备的交互来执行IoT处理。
·提供如何将所公开的可配置事件和动作排序***应用于现有的IoT架构的示例。
图2图示了用于本文所公开的IoT可配置事件和动作排序的示例性***210。***的组件可以包括资源管理器214、更新引擎213和执行单元216。存在接口组件,输入接口211和输出接口212,其允许IoT***与事件和动作排序***210之间的交互。输入接口211可以为IoT实体提供RESTful接口,以指定、配置、更新和访问关于IoT处理的事件和动作的信息。输出接口212组件提供响应于在IoT处理期间执行的动作来监测和控制***中的IoT设备的机制。这些接口组件可以用作IoT可配置事件和动作排序***与IoT***之间的粘合剂,并且为了完整性而被包括在内。输入接口和输出接口组件通常以平台和协议为中心,并且是事件和动作排序***210进行操作所需的辅助功能。
在***210内,资源管理器214通过输入接口组件从外部IoT实体获取输入。资源管理器214管理与IoT处理相关联的资源的创建、存储和维护。此外,一旦IoT处理被激活并且处于操作中,资源管理器214就与执行单元216接口连接以提供状况信息。执行单元216负责执行IoT处理的动作、向IoT设备发送命令、监测触发条件的状况以及管理事件过渡。它与资源管理器214和更新引擎213两者都接口连接,以获得IoT处理的操作的细节。最后,更新引擎213负责处置动态请求,以在IoT处理仍在操作时更新IoT处理的事件条件和动作,并确保更新不会干扰当前操作。因此,它从资源管理器214获得输入并与执行单元216接口连接。
在***210内,事件和动作排序处理(EASP)被定义为捕获互连在一起以实现期望操作的事件和动作。EASP可以配置有检测EASP在其中操作的不断变化的***条件的事件。可以将不同的动作指派给事件以制定一些操作并且提供机制以指定EASP中接下来的(一个或多个)事件的顺序。公开了用于表示EASP的资源,以使用户能够动态地控制EASP的操作(例如,经由请求来控制EASP而不影响操作以及,如果确实如此,那么EASP来处置如何响应该请求的能力)。注意的是,EASP是将IoT事件和动作互连在一起以形成针对预期应用的期望序列的IoT处理。EASP可以被认为是用于如何将事件和动作链接在一起以形成处理流程(例如,“动作排序”)的框架。EASP资源本身可以是EASP CSF执行的“程序”。当被执行时,EASP CSF可以从一个事件状态(EventState)资源过渡到另一个EventState资源。
EASP的事件和动作可以被表示为事件和动作排序***210中的资源,其中请求者创建并定义什么是EASP以及什么事件触发动作的操作。因此,可以公开具有用于描述EASP的参数的EASP资源。在EASP资源内,可以使用EventState资源来描述EASP中的每个事件,并且进一步在EventState资源内,可以提供一个或多个过渡(Transition)资源来描述EASP中被执行的动作和下一个事件。图3图示了所公开的资源之间的关系的示例,其中EASP资源(例如,EASP资源217)是具有多个EventState资源(例如,EventState资源218)及其关联的过渡资源(例如,过渡资源219)的父资源。在每个资源内,可以存在提供相关信息以捕获用于该资源的信息的参数。
EASP资源217可以包括EASP所需的所有事件和动作。事件是IoT***中可以触发或造成执行一些动作的条件。事件的一些示例是特定传感器的阈值或值范围、定时器的到期、对资源的RESTful操作(创建、检索、更新、删除)、打开或关闭设备或实体的操作、由另一个EASP执行的动作等等。另一方面,动作是检测到事件后就执行的。它们可以涉及对资源的RESTful操作、定时器的起动、设备管理操作、存储和转发操作、另一个EASP的启用、致动器的控制、命令的执行等等。
由事件和动作排序***210提供的另一个重要特征是指定EASP彼此之间的交互的能力。EASP的操作可以取决于来自另一个EASP的一些动作的执行。此外,两个EASP的事件可以相互缠绕,并可以被用于控制IoT***的不同方面。这些是由所公开的事件和动作排序***210提供的强大特征,以允许通过更简单的EASP的交互来构建复杂的EASP。
EASP是本文公开的IoT处理的实现。总之,事件和动作排序***210可以被认为是EASP从其进行操作的整个功能***。这在图1中示出。EASP是用于特定应用的事件和动作的互连的实例,例如酿酒用例。EASP资源是表示EASP的资源。它可以具有子资源EventState,后者可以具有子资源Transition,如图3中所示。EventState资源描述EASP实现期望应用所经过的状态(例如,酿酒用例的每个步骤)。本文公开的“EventState”一般被称为资源,并且“事件状态”是与“EventState”资源相关联的状态的发生。Transition资源描述触发从一个事件状态到另一个事件状态的过渡的事件。此外,可以在事件过渡期间执行动作。
EASP资源——EASP资源217可以捕获整个EASP的细节。表1示出了EASP资源的一些示例参数。EASP标识符可以被用于将EASP资源217与EASP的细节相关联,并且被执行单元216用于执行EASP的操作。EASP标识符可以被其它EASP资源使用来触发这个EASP的操作,作为前提条件或作为由于某个事件而引起的动作。描述(description)参数允许以人类可读的形式指定EASP的目的,而当前状况(currentstatus)参数提供整个EASP的运行状况。控制(control)参数可以被用于控制EASP从启用到暂停、恢复、退出和禁用该EASP的操作。还可以有自动控制,其中EASP基于IoT***内的事件自主运行。前提条件(precondition)参数提供了在EASP可以开始之前可以发生的先决条件并且可以与控制参数结合使用以自主地运行EASP。退出条件(exitcondition)参数允许紧急情况下EASP突然退出,在紧急情况下继续操作将是有害的或危险的。这个参数提供来自执行单元216的异步响应,以停止与EASP相关的所有动作并停用其操作。不管EASP处于何种事件状态,都可以在EASP操作期间连续监测并应用(一个或多个)“全局”退出条件。
如控制参数所指定的,可以通过多种方式控制EASP。这可以取决于事件和动作排序***210的实现,并且以下是可以如何指定控制参数的一些示例。当将EASP设置为自动控制时,必须指定与事件和动作相关联的参数以提供关于事件和动作排序***210应当如何控制EASP的操作的指导。在这种模式下,前提条件参数可以指定开始EASP所需的事件(例如,条件)或动作。一旦开始,EASP的排序就将取决于指定的EventState资源218和Transition资源219。也可以基于具有“启用,延时”或“禁用”的定时器,使用“启用,按需”来控制EASP。一旦EASP主动运行,就可以通过使用“立即退出”、“按完成百分比或退出事件条件退出”、“暂停”、“恢复”或“重置”来对其进行交互式控制。暂停、恢复或重置EASP的能力提供了非常以IoT为中心的交互,这可以考虑变化的***条件。
表1:EASP资源参数
EventState资源——EventState资源218捕获事件的细节及其维护的状态,直到过渡到另一个事件为止。当被触发时,事件可以执行动作,并在过渡到另一个事件状态之前在一个状态下等待以监测另一个事件的发生。为执行单元216定义EventState标识符,以处理事件状态过渡并维护状况信息。事件状态可以在设定的持续时间内或由于某个(某些)事件的发生而过渡到另一个事件状态。如果事件状态是定时的,那么持续时间(timeduration)参数指定事件操作多长时间(例如,剩余时间的量)以及何时过渡到下一个事件状态。如果事件状态由于另一个事件而过渡,那么Transition资源219指定事件的细节。事件退出条件(eventexitcondition)参数被用于指定可以退出当前事件状态的事件,类似于EASP资源217的退出条件参数。表2示出了EventState资源218的一些示例参数。
表2:EventState资源参数
Transition——Transition资源219捕获用于触发从当前事件状态过渡到下一个事件状态的条件。Next EventState ID(下一个EventStateID)参数指定要过渡到的EventState ID,并且如果存在任何需要执行的动作,那么在Execute Actions(执行动作)参数中指定。Transition Events参数指定将触发事件状态过渡发生的(一个或多个)事件。可以将事件指定为多个表达式,这些表达式通过诸如AND、OR、XOR、NOT等逻辑运算符将各个事件组合在一起。注意的是,可以为当前事件状态之外的每个过渡创建一个Transition资源219。因此,对于特定EventState资源217,可以存在多个Transition资源219,每个Transition资源219具有不同的触发事件并可能具有其相关联的动作。表3示出了Transition资源219的一些示例参数。
表3:Transition资源参数
在请求已经被解析和验证之后,资源管理器214从输入接口211接收请求。然后,资源管理器214基于所请求的方法继续处理请求。如果所请求的方法是更新,那么资源管理器214进行检查以查看EASP处理是否正在主动运行。如果EASP仍在操作中,那么资源管理器214将请求转发到更新引擎213,连同更新的细节。图4示出了资源管理器214响应于请求而执行的过程。
应该理解的是,执行本文所示的步骤的实体(诸如图4–图6、图8、图12、图14等)可以是逻辑实体。步骤可以存储在设备、服务器或计算机***(诸如图17C或图17D所示的那些)的存储器中,并且在设备、服务器或计算机***的处理器上执行。在示例中,下面关于M2M设备的交互的进一步细节,图5的IoT设备242可以驻留在图17A的M2M终端设备18上,而图2的***210可以驻留在图17A的M2M网关设备14上。可以考虑在本文公开的示例性方法之间(例如,图1、图4—图8、图12、图14等)跳过步骤、组合步骤或添加步骤。
图4的过程描述了在评估来自IoT请求者的请求时由资源管理器214执行的步骤。在步骤221处,检查所请求的资源是否存在。如果是或者如果请求是创建以上公开的资源之一(例如,过渡资源219、EventState资源218或EASP资源217),那么转到步骤222。如果不是,那么发送错误响应,该错误响应可以包括步骤234(发送响应)。在步骤222处,如果有必要,那么检查授权或访问控制策略——这里可以涉及多个步骤并且可以包括与外部实体的交互。如果授权或访问控制被授予(grant),那么转到步骤223。如果未授予,那么生成错误响应,这可以包括步骤234(发送响应)。在步骤223处,检查所请求的操作——CRUD(创建、检索、更新、删除)。如果所请求的操作是检索,那么转到步骤224。如果请求的操作是删除,那么转到步骤225。如果请求的操作是创建或更新,那么转到步骤226。在步骤224处,访问数据库并返回下面列出的适当响应之一。可以将响应类型指定为请求选项、查询字符串等的一部分。适当的响应可以包括当前资源表示、整个EASP的当前状态以及当前事件状态的状态或整个EASP资源结构。在步骤234(发送响应)返回该信息。在步骤225处,检查EASP是否可操作的当前状况,然后转到步骤234以发送适当的响应。如果EASP没有运行,那么删除在删除请求中识别出的适当资源以及对应的子资源。对于提供EASP资源217的情况,从数据库215中移除整个EASP结构。如果EASP仍在运行,那么返回错误响应。
继续参考图4,在步骤226处,检查提供的信息是否满足期望操作的要求。例如,对于创建请求,所提供的信息是否满足相关联的资源类型的模式文件的要求。如果信息满足模式要求,那么转到步骤227。如果信息不满足模式要求,那么发送错误响应并转到步骤234——发送响应。在步骤227处,检查EASP是否在操作中。如果EASP在操作中,那么在步骤233中转发更新引擎213的请求并等待响应。作为评估的一部分,资源管理器214可能需要与执行单元216进行交互,以确保识别出的IoT设备(如果有的话)可用于访问。这个核实过程可以被延迟到激活EASP之前的稍后时间,并且取决于***。如果EASP没有在操作中,那么转到步骤228。在步骤228处,检查所请求的方法。如果更新,那么转到步骤229。如果创建,那么转到步骤230。在步骤229处,用请求中提供的数据来更新数据库215中的信息,然后转到步骤234——发送响应。在步骤230处,如果所请求的资源存在并且它是创建操作,那么发送错误响应并转到步骤234——发送响应。否则,转到步骤231。在步骤231处,评估是否可以创建所请求的资源。如果能够创建资源,那么转到步骤232;否则,发送错误响应并转到步骤234——发送响应。在步骤232处,如果有必要,那么生成资源的标识符。资源管理器214可以生成标识符以确保***内的唯一性。可替代地,可以提供标识符,并且资源管理器214可以检查唯一性,然后转到步骤234——发送响应。在步骤233处,从更新引擎213接收响应,并将结果转发到步骤234——发送响应。如果是成功响应,那么更新数据库215中的信息。在步骤234处,生成并向请求者发送具有适当代码的响应。
如前所述,资源管理器214可以基于请求者的需求返回不同的响应以检索请求。默认响应可以是由检索请求中的目标标识符指定的资源的资源表示。但是,资源管理器214还可以格式化响应以包括请求者感兴趣的其它相关信息。一种这样的响应是EASP处理的操作的状况的汇总:一个针对整个EASP,另一个针对当前事件状态。资源管理器214可以提供的另一种类型的响应是响应内的EASP资源结构的聚合。这允许请求者用一个请求来检索EASP的所有事件和动作。这种信息可以帮助请求者构建或监测EASP及其事件和动作。事件和动作排序***210也可以返回其它响应类型,并且将取决于事件和动作排序***210的设计。
执行单元——一旦已定义了EASP处理,该EASP的操作就可以由各种事件触发(例如,基于定时器的到期、由于一些前提条件等)。还可以定义其它触发器,并且将取决于事件和动作排序***210。然后,由执行单元216处置EASP的执行,执行单元216通过输出接口212接口连接到IoT***,以确保执行单元216访问EASP的输入,并且还可以访问致动器类型的设备以进行控制(如果由动作指定的话)。
在EASP的实际操作之前,执行单元216可以核实对EASP运行所需的所有输入和输出的访问。可以在创建EASP资源定义及其事件状态资源时执行这种核实。可替代地,可以在激活之后但在实际操作之前执行核实。在这种情况下,可以将EASP资源217的当前状况参数指定为“EASP核实”或那种效果的某种类型的指示符。
实际核实可以在本地或远程发生,这取决于事件和动作排序***210如何与IoT***集成。如果事件和动作排序***210被集成为IoT***的一部分,那么可以已经建立了对传感器和致动器设备的访问,并且执行单元216可能需要引用标识符或某个URI来访问该设备。但是,在远程情况下,执行单元216可能需要输出接口212的帮助来设置与设备的消息传递交互。这可以是订阅/通知机制、协议机制的使用(例如CoAP观察)、使用轮询方法或由IoT***暴露的一些API调用的形式。在那些情况下,授权或访问控制策略还可以在事件和动作排序***210获得对IoT设备的访问中发挥作用。这些问题不在事件和动作排序***210的范围之内,并且IoT***应当为这种访问提供某种机制以使事件和动作排序***210能够进行操作。图5示出了资源管理器214与执行单元216的集成以处理EventState资源的创建请求的示例过程。注意的是,事件和动作排序***210的其它组件未示出,以最小化图中的混乱。还应当注意的是,应用可以创建资源,并且可以为一个EASP创建多个资源。可以首先创建资源,以便指导EASP如何操作。本文公开的资源是应用可以如何对EASP进行编程的示例。其它示例可以涉及更少的资源,诸如两个资源。
图5图示了对IoT***过程的示例性执行单元访问核实。在步骤251处,IoT请求者241发送创建EventState资源218的请求。这个过程也可以应用于EASP资源217或Transition资源219的创建。在创建EASP资源217时,指定的参数可以包括EASPID、EASP的描述、如何控制EASP以及EASP的任何前提条件或退出条件。表1列出了也可以指定的其它参数。当创建EventState资源218时,可以指定诸如EventState ID、Time Duration和Transition Events之类的参数。其它EventState参数在表2中找到。关于Transition资源219,它可以包括过渡事件、下一个EventState ID和执行动作参数等,如表3中所述。在步骤252处,资源管理器214处理请求并执行事件和动作排序***210所需的任何必要的验证。在步骤253处,如果验证成功,那么资源管理器214可以将EventState信息转发到执行单元216以核实可以对IoT设备242进行访问。
继续参考图5,在步骤254处,执行单元216(结合输出接口212)向IoT设备242发送请求。这个请求可以是简单的检索以核实IoT设备242可达,或者它可以涉及创建订阅或CoAP观察。该请求的另一个目的是确保任何授权或访问控制被配置为允许事件和动作排序***210访问IoT设备242。如果没有访问被授予,那么这个信息可以返回给IoT请求者241。在步骤255处,如果访问被授予,那么IoT设备242返回Ok或适当的响应。在步骤256处,执行单元216返回对IoT设备242的访问被核实了的响应。在步骤257处,资源管理器214创建EventState资源并将该信息保存到数据库。在步骤258处,生成创建的响应并发送到IoT请求者241。如果该过程不成功,那么返回适当的错误响应。
一旦核实完成并且事件和动作排序***210能够执行EASP要求的所有动作,执行单元216将开始操作并跟踪EventState过渡。在操作过程中,执行单元216和资源管理器214可以维持通信以使得能够根据需要将状况信息传送到请求者。执行单元216还与更新引擎213接口连接,以确定对EASP的新的、动态添加的EventState资源218或对现有EventState资源218的改变是否可以被集成而不影响操作。本文公开了在处理(例如,应用)主动运行时对其进行更新的能力。按照惯例,这要求停止应用,但是EASP不需要被停止。事件和动作排序***210允许发生改变,并且它在不影响除了被改变的操作之外的现有操作的情况下做到这一点。换句话说,无需为了进行改变而停止任何正在运行的处理(例如,酿酒过程)。事件和动作排序***210可以动态地处置进行改变。话虽如此,改变可以将操作更改为进入与原始编程的状态不同的事件状态。参见图1与图7B之间的区别。图7B中的下一个事件状态(步骤243和步骤244)在最初运行图1时不存在。
图6示出了当EASP被激活并运行时由执行单元216执行的处理过程。注意的是,该图仅示出了在“过渡到下一个EventState”步骤期间提供的状况信息,但是执行单元216可以在整个状态处理流程期间的任何时间提供状况信息。状况信息可以包括由EASP***提供的任何信息,以指示当前EASP处理的位置(例如,完成百分比)、当前处于活动的事件状态等。状况信息的示例在图15和图16中示出。
图6图示了示例性执行单元状态处理流程。在步骤261a-261c处,进行激活。这是触发执行单元216被触发开始处理的时间。它可以以各种方式被触发并且图6示出了三种可能的方式:基于EASP资源217中指定的前提条件(步骤261a)、基于未来时间(步骤261b)或基于请求者的按需控制(步骤261c——接收激活EASP的请求。表1中描述的控制参数提供了可以激活EASP的附加方式。可以存在不激活EASP的情况,例如,当最初创建每个EventState资源时。在EASP处于非活动状态并且应当被激活的另一场景中,用户只想在一天中的某些时间运行EASP,而在其它时间则没有任何益处。在步骤262处,可以有EventState信息的负载。一旦EASP被激活,执行单元216就初始加载初始EventState的信息。在处理流程的后续迭代中,改为加载由Next EventState ID参数识别的EventState资源218。此外,如果先前在创建EventState资源期间尚未执行这样的步骤,那么执行单元216可能需要核实是否可以进行对IoT设备的访问。如果事件和动作排序***210和IoT***位于远程位置,那么可以通过对IoT***中的设备进行订阅、使用CoAP观察或者轮询设备以向事件状态提供输入来实现这一点。对于更集成的方案,可以涉及调用适当的API调用。如有必要,那么可以为事件状态起动一个定时器,该事件状态在移至下一步骤之前要执行一段持续时间。
继续参考图6,在步骤263处,可以进行事件检测。一旦执行单元216能够与EventState资源218的操作所必要的IoT设备242通信,并且所有EventState资源参数都保存在本地,它就开始监测输入以检测潜在的过渡事件。此时,如果启用了退出条件和定时器到期输入,那么它们也将应用于检测逻辑。如果检测到退出事件,那么执行单元216可以退出事件状态或者甚至EASP(如果被这样配置的话)。最后,如果对EASP进行了改变,那么执行单元216还可以从更新引擎213获得输入。当这种情况发生时,执行单元216将本地存储的参数替换为由更新引擎213提供的参数。在步骤264处,可以执行(一个或多个)动作。在检测到触发过渡的事件后,执行单元216可以执行针对当前事件状态可以向IoT设备指定的任何动作,或者可以退出事件状态或EASP。一旦所有动作都已经完成,就可以继续进行下一步骤。注意的是,当存在更新引擎输入时,执行单元216应当将存储的参数替换为由输入提供的参数。这可以包括需要执行的任何新动作以及要过渡到的下一个EventState资源218的ID。这个能力为动态更新EASP处理的操作提供了支持。
在步骤265处,可以过渡到下一个EventState资源218。如果存在下一个EventState ID作为Transition资源219的一部分,那么执行单元216可以执行到步骤262的过渡,以加载由下一个EventState ID指定的下一个EventState资源218的信息。执行单元216可以向资源管理器214发信号通知下一个EventState资源218的标识符和用于该过渡的其它相关信息,例如,当前状态、检测到什么触发器事件等。这个信号可以被用于检测当动态更新EASP操作时可以存在的潜在竞争条件。只要同一个触发事件可能有两个EventState,就发生竞争条件。如此处所述,在更新EASP期间会发生这种情况。这种情况的示例是当资源管理器214可以检查下一个EventState标识符是否与当前存储的标识符匹配时(如果EventState资源218最近由更新引擎213修改过)。
更新引擎——更新引擎213提供了让请求者在EASP处理在操作时对其进行更新的机制。这种更新可以是将过渡事件改变为新事件状态甚至向EASP添加新事件状态的形式。也可以支持影响EASP操作的其它改变。更新引擎213可以与执行单元216协调以确保更新不干扰EASP的操作。如果检测到干扰,那么更新引擎213将不启用更新并且向资源管理器214提供必要的错误响应,然后资源管理器214将该响应中继到请求者。
图7B图示了对图1的酿酒过程的示例性更新,其中抽走步骤(步骤205)被划分为两个分开的步骤,以酿造更高质量的葡萄酒。更新示出如何利用更新引擎213对已在运行的EASP处理进行改变。图7A概述了可以被用于更新酿酒过程的操作的步骤。在步骤341处,添加新的“第一抽走传送”步骤(步骤243)。在步骤342处,添加新的“第二抽走传送”步骤(步骤244)。在步骤343处,更新“压榨和抽走”步骤(步骤205)的Transition资源219以过渡(过渡245)到新创建的“第一抽走传送”步骤(步骤243)。在步骤344处,更新“苹果乳酸发酵”步骤(步骤206)的Transition资源219以过渡(过渡246)到新创建的“第二抽走传送”步骤(步骤244)。
在发酵步骤期间,确定葡萄酒具有良好的品质并且将从具有两个抽走步骤中受益。此时,酿酒师将向EASP创建第一和第二抽走传送事件状态,如图7B中所示。由于这些EventState资源218的创建不影响现有操作,因此创建请求成功。在创建资源之后,事件和动作排序***210将EASP过渡到图1中所示的(原始)“压榨和抽走”步骤,该步骤现在在图7B中标记为“压榨”步骤。然后,酿酒师通过重新配置过渡到“第一抽走传送”步骤243而不是过渡到“苹果乳酸发酵”步骤206的动作来发送更新步骤的请求。更新引擎213评估该请求,并且由于它仅在图6的事件检测阶段(步骤263)等待酒被完全压榨,因此它能够注入新的输入以更改处理流程并将下一个EventState ID改变为“第一抽走传送”步骤243。当葡萄酒压榨完成时,新的更新引擎输入可以指导EASP执行将葡萄酒抽走到另一个罐的操作,并过渡成“第一抽走传送”事件状态。
一旦酿酒过程处于“第一抽走传送”事件状态,酿酒师就可以修改“苹果乳酸发酵”事件状态的Transition资源219的过渡事件参数。该改变涉及将过渡重定向到“第二抽走传送”步骤244而不是“桶陈化”步骤。还可以修改执行动作参数,以将葡萄酒泵送到分开的罐中,而不是泵送到桶中进行陈化。由于该处理仍在“第一抽走传输”步骤243内,因此这个请求能够被成功处理。
更新引擎213的总体过程在图8中示出。在步骤271处,IoT请求者241在对应的EASP处理正在主动运行时更新Transition资源。作为示例,IoT请求者241想要改变过渡事件和过渡资源219的下一个EventState ID参数。可替代地,IoT请求者241可以用与当前Transition资源219中的值不同的过渡事件和下一个EventState ID参数来创建新的Transition资源219,。这些情况中的任何情况都可以触发更新引擎213的激活。此外,创建或修改EventState资源还将触发更新引擎213的操作。在步骤272处,资源管理器214处理步骤271的请求,并执行事件和动作排序***210所需的验证。在步骤273处,资源管理器214识别出EASP处理正在主动运行,并且将更新请求转发给更新引擎213以进行处理。在步骤274处,资源管理器214返回ACK响应以向IoT请求者通知该更新请求正在被处理并且正等待来自更新引擎213的结果。该响应可以包括由资源管理器214生成的用于跟踪目的的UpdateID。也可以包括其它相关信息,诸如当前状态的状况以及整个EASP的状况。
继续参考图8,在步骤275处,更新引擎213通过与执行单元216通信来评估是否可以安全地进行更新并且不会对操作有负面影响(例如,致命错误或其它阈值错误)。如果可以安全地进行更新,那么继续执行步骤276;否则转到步骤277。Transition资源(或属性)可以指示EASP如何过渡到下一步骤。在步骤276处,如果可以在不负面地影响(例如,致命错误或其它阈值错误)EASP的操作的情况下进行更新,那么更新引擎213将输入添加到执行单元216以更新EASP操作,如图6中所示。在步骤277处,更新引擎213将适当的响应返回给资源管理器214。在步骤278处,如果更新引擎213返回成功响应,那么资源管理器214用更新请求中提供的信息来更新数据库215。在步骤279处,资源管理器214将适当的响应返回到IoT请求者241,并且可以包括来自步骤274的UpdateID和更新后的状况。关于错误,可以取决于EASP的实现。在图6中,步骤263负责检测影响EASP的事件。如果进行了更新并且EASP正在监测定时器到期(Timer Expiration)的事件,那么EASP能够进行改变。但是,如果正在监测其它输入,那么EASP不知道它们将何时触发。因此,EASP可以生成“致命错误”。回到定时器到期,如果在接收到更新时定时器到期即将到期,那么可以生成“阈值错误”。
附加示例:可配置事件和动作排序***210(在本文中也称为事件和动作排序***210)可以集成到现有的IoT架构(诸如oneM2M和OCF)中。下面,提供关于事件和动作排序***210如何被集成到那些架构中的示例,并且oneM2M示例被应用于本文公开的酿酒用例。还给出了工业工厂用例,以示出如何使用事件和动作排序***210实现EASP的交互式控制。而且在本文中,示出了示例图形用户界面(图15),其可以表示返回给用户的表,该表总结了EASP的步骤。
oneM2M已经定义了一种服务层架构,其中公共服务功能(CSF)向应用提供服务,诸如数据管理、设备管理等。这些CSF组合在一起,成为公共服务实体(CSE),其可以在云服务器、网关设备或甚至移动设备上运行。然后,应用可以注册以使用由CSE提供的服务。然后,可配置事件和动作排序***210可以作为所提供的服务之一被集成到CSE中。实际上,事件和动作排序***210本身可以是CSF之一。
一旦事件和动作排序***210被集成,用于EASP资源217、EventState资源218和Transition资源219的所公开的资源就可以被添加到oneM2M架构。表4和表5分别列出了针对所公开的<easp>资源的子资源和特定于资源的属性。
表4:所公开的oneM2M<easp>资源的子资源
表5:所公开的oneM2M<easp>资源的属性
表6和表7分别列出了新公开的<eventState>资源的子资源和特定于资源的属性。注意的是,这里将transitionEvents属性指定为指定状态过渡的潜在方式。另一种方法是将关于事件状态过渡的信息放在<transition>资源中,如表8和表9中所示。
表6:所公开的oneM2M<eventState>资源的子资源
表7:所公开的oneM2M<eventState>资源的属性
表8和表9分别列出了新公开的<transition>资源的子资源和特定于资源的属性。注意的是,<transition>资源的存在可以去除对<eventState>资源的transitionEvents、transitionActions和nextEventStateID属性的需求,反之亦然。
表8:所公开的oneM2M<transition>资源的子资源
/>
表9:所公开的oneM2M<transition>资源的属性
图9示出了用于酿酒用例的所公开的<easp>资源280的示例。在这个示例中,酿酒过程被实现为以<easp>资源表示的EASP。因此,酿酒过程和EASP可以互换使用。<easp>资源被命名为“wineMaking”,并且其属性和子资源如下列出。这个资源首先由酿酒师在CSE上创建,以捕获酿酒过程中所需的步骤:Preconditions、exitConditions和其它属性281–287在图9中示出。图9示出了创建事件状态之后<easp>资源280的表示,因此numberEvents属性285为“8”,initialEvent属性286为“eid1”,而finalEvent属性287为“eid8”。EASP尚未开始,并且control属性284和currentStatus属性283两者分别使用“禁用”和“未开始”的值来反映这种情况。没有preconditions事件,也没有exitConditions事件,因为酿酒师可以使用control属性284交互地控制EASP,因此在一些实施方式中可以认为所谓的属性(例如,finalEvent属性)可以是资源,反之亦然。
一旦创建了<easp>资源280,酿酒师就创建八个<eventState>资源288作为<easp>资源280的子资源。每个<eventState>资源288都具有名称“step#”,其中#是酿酒过程中的步骤编号,而eventStateID是“eid#”,并且#又与步骤编号相关联。图10示出了用于步骤203(发酵步骤)的<eventState>资源290的示例。对于2周的timeDuration,currentStatus处于50%,这意味着发酵过程已经进行了1周。此处示出的值是高级示例性表示,并且不能反映实际值。例如,timeDuration属性可以具有以秒为单位的值,而不是人类可读的标签“周”。在用于步骤203的事件状态内,存在指示当它们相应的过渡事件发生时执行什么动作的3个<transition>资源(例如,transition1资源295、transition2资源296、transition3资源297)。
exitConditions属性294提供了在任何过渡事件都不发生时覆盖它们的机制。这种机制可以被用于防止事件状态被卡住并且保留在该事件状态中会导致不期望的操作的情况。例如,葡萄酒的发酵仅限于2周或者当糖水平达到零时,以先到者为准。指定退出条件保证即使糖水平从未达到零,该步骤也将最终结束。exitConditions属性294中的每个条目都包括两个值:第一个值指定退出事件,第二个值指定在其中指定executeActions和nextStateEventID的过渡资源。这是该机制的一种实现,但是可以实现其它机制以明确指定动作和nextEventStateID。通过使用复杂的数据类型,该属性甚至可以支持多个退出条件。
在<eventState>步骤203内,在两周的发酵周期期间可以发生三个过渡事件之一。每4小时执行一次Transition1事件以测量温度,并且如果值超出指示的范围,那么进行调整。该事件由在步骤203开始时最初设置的定时器的到期来触发,并且所采取的动作是checkTemp和adjustTemp。事件和动作两者可以通过TR-0021Study of the ActionTriggering in M2M,V-0.5.0[2]中提供的机制来捕获,或者可以是被指定为用运算符分开的键值对的简单表达式,诸如“<resource_URI><operator><value>”。可以使用逻辑运算符组合简单表达式来创建复杂表达式。nextEventStateID属性指定要过渡到的下一个事件状态。对于transition1事件,在执行指定的动作之后,EASP保留在当前步骤中。
在发酵期间每6小时发生一次transition2事件。这个事件使冲压工具能够将待发酵的葡萄汁混合成均匀状态,以实现更均匀的发酵。对于transition2事件,EASP移至步骤204,在该步骤中,将冲压工具配置为运行5分钟,然后再返回发酵步骤——有关细节参见图15。最后,transition3事件在糖水平达到零时检测到发酵周期的结束。作为响应,执行打开压榨工具的动作,并且EASP前进到步骤205。
在发酵周期期间,酿酒师品尝葡萄酒以监测其发展。在这段时间里,酿酒师可以在最后一刻选择在两个分开的时间执行抽走过程,以生产出更高质量的葡萄酒。如图7B中所示,这涉及在苹果乳酸发酵步骤206之前和之后将酒抽走。由于图1中的原始酿酒过程已在步骤205中将压榨和抽走过程组合在一起,因此这个决定要求更新EASP流程。酿酒师首先添加新的步骤243和步骤244,以捕获两个抽走过程中的每一个。然后,在压榨过程在运行的同时,酿酒师更新步骤205的过渡资源295。当压榨尚未完成时,这个更新可以由更新引擎213安全地集成。关于图15中的抽走1和抽走2所示的更新将覆盖现有的过渡事件,并绕过步骤205中的抽走过程。替代地,新的过渡将转到步骤243以执行第一抽走过程。
随着第一抽走传送(步骤243)的发生,酿酒师针对步骤206的过渡297资源更新过渡资源297以开始第二抽走传送(步骤244),如图15所示。一旦处于步骤243中,就允许葡萄酒沉淀24小时,随后进行去除lees1(称为粗酒渣)和添加用于发酵的细菌的动作。此时,EASP继续到步骤206,其中发生苹果乳酸发酵长达6周。类似于步骤203,苹果乳酸发酵具有其中发酵水平为零或6周的持续时间已到期的退出条件。这些条件中的任何一个都将迫使EASP继续到启用第二抽走传送的步骤244。
在第二抽走传送内,三个过渡资源被链接在一起以彼此跟随。当抽走过程完成时,如储罐水平为零所指示的,transition1捕获事件。EASP继续进入transition2事件,如表达式“transition1=done”所指示的。在transition2中执行的动作是检查葡萄酒的各个水平并根据需要调整它们。这些动作可以被另一个EASP捕获,以检查和调整总酸度、pH水平等。最后,当适当调整水平后,EASP开始去除细酒渣,一旦完成,EASP就会进行桶陈化步骤。
桶陈化步骤可能花费长达一年或更长时间,因此,酿酒师将exitConditions属性值指定为“[control,transition2]”。应当理解的是,每个<transition>资源都与其<eventState>资源相关联,例如来自eventState eid3(标记为296)的transition2与用于eventState eid7的transition2资源不同。这个退出条件基于<easp>资源280的控制属性,并且通过酿酒师品尝葡萄酒来确定。酿酒师可以通过显式改变<easp>资源280的控制属性来突然结束这个步骤。否则,酿酒师可以让陈化过程在指定的timeDuration结束。然后,EASP继续到最后一步澄清和装瓶。澄清和装瓶过程包括三个主要事件:打开transition1资源中的澄清过滤器、关闭澄清过滤器并打开transition2资源中的装瓶过程,最后关闭transition3资源中的装瓶过程。此引用是相对于eid8而不是eid3。这适用于transition2和transition3资源。
开放连通性论坛——开放连通性论坛(OCF)是类似于oneM2M的另一种IoT架构,用于定义IoT设备彼此通信的服务层功能。在OCF(例如,OIC核心规范,v1.1.0[3])中,资源本身在OIC服务器上本地托管,与在CSE上集中托管设备资源的oneM2M不同。但是,OCF已经定义了可以被实现为网关设备的OIC中介。图12示出了由OCF定义的实体角色的示例。OIC客户端在OIC中介的帮助下向OIC服务器发出请求。OIC中介可以访问多个设备资源,因此,它可以利用本文公开的EASP处理功能。因此,可配置事件和动作排序***210可以被集成为网关的一部分以提供本文公开的服务。它可以访问各种IoT设备及其资源,可以利用它们定义IoT处理并将其用于监测和控制那些设备。
OCF定义了用于通过使用场景、规则和脚本来使任务自动化的机制。虽然这些资源提供了类似于事件管理的操作,但是它们的功能目前仅限于仅检测某些事件为真,然后执行脚本来执行一些自动化任务。更新这些资源将涉及大量的返工才能启用本文公开的EASP处理功能。因此,这里将介绍新的OIC资源作为OCF示例。
可以定义新的OCF资源类型,如表10中所示。这些资源类型定义类似于图3中所示的结构的结构,但指定为适合OCF规范。顶层是oic.wk.easplist资源类型,它是托管子oic.wk.easp资源的集合资源。子oic.wk.easp资源与上面公开的EASP资源相同。最后,oic.wk.eventState资源是oic.wk.easp的子资源并且表示EASP处理的EventState资源。然后,Transition资源将被实现为以下概述的OCF资源特性。注意的是,所公开的资源类型使用“oic.wk”前缀——备用前缀“oic.r”也可以用于指定OIC资源类型。需要注意的另一件事是oic.if.easp接口的引入,该接口为请求者提供了EASP处理的专门表示,并且稍后将进行描述。新的资源类型还可以支持其它OCF定义的接口,但为简洁起见未列出它们。
表10:所公开的OCF EASP资源类型定义
表11示出了所公开的oic.wk.easplist资源的特性。大多数特性的提供是为了支持OIC集合资源。Nf特性提供关于集合的状况信息,并指示在这个集合中找到了多少oic.wk.easp资源(IoT处理)。这个信息可以被用于管理集合并且还确定事件和动作排序***210的负载。
表11:所公开的oic.wk.easplist资源特性
表12示出了所公开的oic.wk.easp资源的特性。这些特性表示如上所述的<easp>资源280的参数。这些特性具有与如上面指出的相同的功能。
表12:所公开的oic.wk.easp资源特性
/>
表13示出了所公开的oic.wk.eventState资源的特性。这些特性表示如上所述的<eventState>资源的参数。注意的是,在这种情况下,transitions参数被表示为OIC特性,而不是oic.wk.eventState的子资源。它仍然提供与过渡资源相同的用于确定状态过渡的功能。
表13:所公开的oic.wk.eventState资源特性
/>
OCF的一个独特特征是OCF接口的概念,它被定义为OCF资源的视图。在OCF中,接口定义在访问那个资源时允许什么类型的请求和响应。例如,OCF oic.if.baseline接口允许对资源进行检索和更新请求两者,并且响应包括资源的完整表示,包括元特性。表14示出了OCF接口的列表。另一方面,oic.if.r接口将请求限制到仅检索资源的特性。使用这个接口概念,可以创建新的OCF接口oic.if.easp,以允许取决于请求中提供的查询字符串而提供不同的响应。然后,这个接口将允许设备返回在资源管理器214的操作中描述的所公开的响应之一:当前表示、当前EASP和事件状态状况以及整个EASP结构。如事件和动作排序***210所要求的,这个接口还可以提供附加的响应数据。可以定义新的oic.if.easp接口并将其添加到表14,以提供这些专门的响应。
表14:新的OCF oic.if.easp接口定义
/>
工业工厂——在工业工厂中,装配线由执行某些功能的机器人操纵。有多个站按顺序排列在一起以制造最终产品。图13示出了两个互连在一起的这种站——站220(站317和站318)的输出是站210(站311—站315)的输入。站220的站可以以每小时五个单元的速率输出,站210的站可以以每小时两个单元的速率接收输入。对站进行调整,以最小化机器人保持空闲的时间,从而最大化生产率。
工厂实现本文公开的可配置事件和动作排序***210,并且创建EASP以控制所示的每个站。每个EASP处理具有多个事件状态,并且使用持续时间参数来控制事件状态,以确保每个站以期望的速率输出。事件和动作排序***210的管理员拥有对每个IoT处理的完全访问权,并可以根据需要交互地控制它们。此外,每个机器人对其操作提供诊断,以便管理员可以监测每个站的输出。
站311可以包含较旧的机器人,该机器人过去已经可靠地操作,但是最近表现出故障迹象。在一个改变期间,站311发送其组件之一无法正常工作的诊断信息。作为响应,管理员发送请求以将站311的EASP资源的控制参数改变为“立即退出”以关闭该站。然后,管理员会对站317和站318的IoT处理进行重新编程,以便以较低的速率输出,以考虑站311正在关闭。图14示出了由管理员执行以交互地控制站317和站318的每个IoT处理的调用流程。
图14图示了EASP处理的示例***互式控制。在步骤331处,管理员321发送以站317的EASP资源(例如,EASP资源217)为目标的更新请求以暂停EASP。在这种情况下,控制参数被设置为“暂停”。在步骤332处,在事件和动作排序***210内,资源管理器214向执行单元216发送信号以挂起当前事件状态的操作,执行单元216是可配置事件和动作排序***210的一部分。执行单元216可以停止正在控制事件状态的执行的定时器,并且停止可能正在执行的任何动作。在步骤333处,事件和动作排序***210可以返回指示EASP被暂停的响应。管理员321可以对站318的EASP重复步骤331—步骤333。在步骤334处,管理员321调整站317的EASP资源的持续时间参数以便以每小时四个单元的速率输出。管理员根据需要对多个EventState资源(例如,EventState资源218)执行这个请求。
继续参考图14,在步骤335处,资源管理器214对站317的EASP资源的EventState资源进行适当的改变。对于当前事件状态,资源管理器214可以将改变直接发信号通知执行单元216。可替代地,资源管理器214可以将改变转发到更新引擎213以更新现有事件状态。对于不活动的EventState资源,资源管理器214可以简单地更新对应的EventState资源的数据库215。在步骤336处,事件和动作排序***210返回指示做出了改变的响应。管理员可以对站318的EASP重复步骤334—步骤336。在步骤337处,一旦所有持续时间参数都改变,管理员就发送“恢复”请求以重新启动站317的操作。这可能需要发送其中控制参数设置为“恢复”的请求。在步骤338处,资源管理器214向执行单元216发送信号以重新启动当前事件状态的操作。此时,定时器将反映在减慢生产时在步骤334—336中所做的改变。在步骤339处,事件和动作排序***210返回指示重新启动EASP的响应。管理员可以对站318的EASP重复步骤337—步骤339。
用户界面——图15示出了可配置事件和动作排序框架210可以提供的示例用户界面,以表格形式示出了EASP处理的信息。此处的表示出了上述酿酒用例中的eventState并且可以通过Web界面呈现。可以使用用于指定要返回的响应数据的查询接口从事件和动作排序***210检索表中的信息。在这种情况下,可以指定返回EASP资源结构以及EASP和当前事件状态的状况。在表内,当前事件状态为eid5(粗体)。该表可以用颜色编码。例如,现有事件状态可以是黑色,而新添加的事件状态(在EASP运行时)可以是浅蓝色。currentStatus属性的文本可以用颜色编码,以向酿酒师提供快速的视觉表示。红色文本可以表示对现有属性的EASP进行的当前更新。
一旦已创建了<easp>资源,就可以将其保存以备将来使用,并针对其它葡萄酒类型进行调整。酿酒师可以试验不同的发酵时间并根据需要添加或移除事件状态以考虑不同的葡萄品种。由于发酵可以因批次而异,因此酿酒师调整EASP操作的能力对于生产出最好口味的葡萄酒至关重要。
图16图示了可以基于本文讨论的方法和***来生成的示例性显示(例如,图形用户界面)。显示界面901(例如,触摸屏显示)可以提供EASP处理的快照视图。显示界面902的标题分别示出了EASP的名称和当前事件状态。标题下方是整个EASP处理的高级流程903,其中突出显示了当前事件状态。在显示界面的底部是EASP处理904和当前事件状态905两者的状态信息。对于EASP处理状况904,细节和控制按钮允许用户查看并可能更新EASP处理。对于当前事件状态状况905,显示所有接下来的过渡的列表,以向用户示出当前事件状态之外的可能过渡。
图17A是示例机器到机器(M2M)、物联网(IoT)或物联网(WoT)通信***10的图,其中可以实现与事件和动作排序***210相关联的一个或多个公开的概念(例如,图2—图15和随附的讨论)。一般而言,M2M技术为IoT/WoT提供构建块,并且任何M2M设备、M2M网关或M2M服务平台都可以是IoT/WoT以及IoT/WoT服务层等的组件。
如图17A中所示,M2M/IoT/WoT通信***10包括通信网络12。通信网络12可以是固定网络(例如,以太网、光纤、ISDN、PLC等)或无线网络(例如,WLAN、蜂窝等)或者异构网络的网络。例如,通信网络12可以包括向多个用户提供诸如语音、数据、视频、消息传递、广播等内容的多个接入网络。例如,通信网络12可以采用一种或多种信道接入方法,诸如码分多址(CDMA)、时分多址(TDMA)、频分多址(FDMA)、正交FDMA(OFDMA)、单载波FDMA(SC-FDMA)等。另外,通信网络12可以包括其它网络,例如诸如核心网络、互联网、传感器网络、工业控制网络、个人区域网络、融合个人网络、卫星网络、家庭网络或企业网络。
如图17A中所示,M2M/IoT/WoT通信***10可以包括基础设施域和现场域(FieldDomain)。基础设施域是指端到端M2M部署的网络侧,并且现场域是指通常在M2M网关后面的区域网络。现场域包括M2M网关14和终端设备18。将认识到的是,根据期望,任何数量的M2M网关设备14和M2M终端设备18可以包括在M2M/IoT/WoT通信***10中。M2M网关设备14和M2M终端设备18中的每一个被配置为经由通信网络12或直接无线电链路传输和接收信号。M2M网关设备14允许无线M2M设备(例如,蜂窝和非蜂窝)以及固定网络M2M设备(例如,PLC)或者通过诸如通信网络12之类的运营商网络或者通过直接无线电链路进行通信。例如,M2M设备18可以经由通信网络12或直接无线电链路收集数据并向M2M应用20或M2M设备18发送数据。M2M设备18还可以从M2M应用20或M2M设备18接收数据。另外,数据和信号可以经由M2M服务层22被发送到M2M应用20和从M2M应用20接收,如下所述。M2M设备18和网关14可以经由各种网络进行通信,包括例如蜂窝、WLAN、WPAN(例如,Zigbee、6LoWPAN、蓝牙)、直接无线电链路和有线线路。
参考图17B,现场域中所示的M2M服务层22为M2M应用20、M2M网关设备14、M2M终端设备18以及通信网络12提供服务。将理解的是,M2M服务层22可以根据期望与任何数量的M2M应用、M2M网关设备14、M2M终端设备18和通信网络12通信。M2M服务层22可以由一个或多个服务器、计算机等实现。M2M服务层22提供应用于M2M终端设备18、M2M网关设备14和M2M应用20的服务能力。M2M服务层22的功能可以以各种方式实现,例如作为web服务器、在蜂窝核心网络中、在云中等等。
类似于所示的M2M服务层22,在基础设施域中存在M2M服务层22'。M2M服务层22'为基础设施域中的M2M应用20'和底层通信网络12'提供服务。M2M服务层22'还为现场域中的M2M网关设备14和M2M终端设备18提供服务。将理解的是,M2M服务层22'可以与任何数量的M2M应用、M2M网关设备和M2M终端设备通信。M2M服务层22'可以与不同服务提供商的服务层交互。M2M服务层22'可以由一个或多个服务器、计算机、虚拟机(例如,云/计算机/存储装置场等)等实现。
还参考图17B,M2M服务层22和22'提供不同应用和垂直领域(verticals)可以充分利用的核心服务递送能力集。这些服务功能使M2M应用20和20'能够与设备交互并执行诸如数据收集、数据分析、设备管理、安全性、计费、服务/设备发现等功能。基本上,这些服务能力免除了应用实现这些功能的负担,从而简化了应用开发并减少了成本和上市时间。服务层22和22'还使M2M应用20和20'能够通过各种网络12和12'与服务层22和22'提供的服务相关地进行通信。
在一些示例中,M2M应用20和20'可以包括使用事件和动作排序***210进行通信的期望应用,如本文所公开的。M2M应用20和20'可以包括各种行业中的应用,行业诸如但不限于运输、健康和保健、联网家庭、能源管理、资产跟踪以及安全性和监控。如上面所提到的,在***的设备、网关和其它服务器之间运行的M2M服务层支持诸如例如数据收集、设备管理、安全性、计费、位置跟踪/地理围栏、设备/服务发现以及遗留***集成之类的功能,并将这些功能作为服务提供给M2M应用20和20'。
本申请的事件和动作排序***可以被实现为服务层的一部分。服务层是中间件层,其通过应用编程接口(API)和底层网络接口的集合支持增值服务功能。M2M实体(例如,诸如设备、网关或在硬件上实现的服务/平台之类的M2M功能实体)可以提供应用或服务。ETSIM2M和oneM2M都使用服务层,该服务层可以包括对本申请的事件和动作排序***。oneM2M服务层支持公共服务功能(CSF)(即,服务能力)的集合。一个或多个特定类型的CSF的集合的实例化被称为公共服务实体(CSE),其可以在不同类型的网络节点(例如,基础设施节点、中间节点、特定于应用的节点)上托管。另外,本申请的事件和动作排序***可以被实现为M2M网络的一部分,该M2M网络使用面向服务的架构(SOA)或面向资源的架构(ROA)来访问诸如本申请的事件和动作排序***之类的服务。
如本文所公开的,服务层可以是网络服务架构内的功能层。服务层通常位于应用协议层(诸如HTTP、CoAP或MQTT)之上,并为客户端应用提供增值服务。服务层还提供到位于较低资源层(诸如例如控制层和运输/接入层)的核心网络的接口。服务层支持多种类别的(服务)能力或功能,包括服务定义、服务运行时启用、策略管理、访问控制和服务聚类。最近,若干行业标准主体(例如,oneM2M)一直在开发M2M服务层,以解决与M2M类型的设备和应用集成到诸如互联网/web、蜂窝、企业和家庭网络的部署中相关联的挑战。M2M服务层可以为应用或各种设备提供对由服务层支持的上面提到的能力或功能集合的访问,服务层可以被称为CSE或SCL。一些示例包括但不限于安全性、收费、数据管理、设备管理、发现、供应以及连接性管理,这些可以被各种应用共同使用。这些能力或功能经由使用由M2M服务层定义的消息格式、资源结构和资源表示的API对这些各种应用可用。CSE或SCL是可以由硬件或软件实现的功能实体,并且提供暴露于各种应用或设备的(服务)能力或功能(即,这些功能实体之间的功能接口),以便它们使用这样的能力或功能。
图17C是示例M2M设备30的***图,诸如例如M2M终端设备18(其可以包括IoT设备242)或M2M网关设备14(其可以包括图5的一个或多个组件)。如图17C中所示,M2M设备30可以包括处理器32、收发器34、传输/接收元件36、扬声器/麦克风38、小键盘40、显示器/触摸板42、不可移动存储器44、可移动存储器46、电源48、全球定位***(GPS)芯片组50以及其它***设备52。将认识到的是,M2M设备30可以包括前述元件的任何子组合,同时保持与所公开的主题一致。M2M设备30(例如,事件和动作排序***210、IoT设备242、IoT请求者241等)可以是执行所公开的用于事件和动作排序***的***和方法的示例性实现。
处理器32可以是通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其它类型的集成电路(IC)、状态机等。处理器32可以执行信号编码、数据处理、功率控制、输入/输出处理,或使M2M设备30能够在无线环境中操作的任何其它功能。处理器32可以与收发器34耦合,收发器34可以与传输/接收元件36耦合。虽然图17C将处理器32和收发器34描绘为分开的组件,但是将认识到的是,处理器32和收发器34可以在电子包装或芯片中集成在一起。处理器32可以执行应用层程序(例如,浏览器)或无线电接入层(RAN)程序或通信。例如,处理器32可以执行安全性操作,诸如认证、安全密钥协商或加密操作,诸如在接入层或应用层处。
传输/接收元件36可以被配置为向M2M服务平台22传输信号或从M2M服务平台22接收信号。例如,传输/接收元件36可以是被配置为传输或接收RF信号的天线。传输/接收元件36可以支持各种网络和空中接口,诸如WLAN、WPAN、蜂窝等。在示例中,传输/接收元件36可以是被配置为例如传输或接收IR、UV或可见光信号的发射器/检测器。在又一个示例中,传输/接收元件36可以被配置为传输和接收RF和光信号两者。将认识到的是,传输/接收元件36可以被配置为传输或接收无线或有线信号的任意组合。
此外,虽然传输/接收元件36在图17C中被描绘为单个元件,但是M2M设备30可以包括任何数量的传输/接收元件36。更具体而言,M2M设备30可以采用MIMO技术。因此,在示例中,M2M设备30可以包括用于传输和接收无线信号的两个或更多个传输/接收元件36(例如,多个天线)。
收发器34可以被配置为调制将由传输/接收元件36传输的信号并且解调由传输/接收元件36接收的信号。如上所述,M2M设备30可以具有多模式能力。因此,例如,收发器34可以包括多个收发器,用于使M2M设备30能够经由多个RAT(诸如UTRA和IEEE 802.11)进行通信。
处理器32可以从任何类型的合适存储器(诸如不可移动存储器44或可移动存储器46)访问信息,并将数据存储在其中。不可移动存储器44可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或任何其它类型的存储器存储设备。可移动存储器46可以包括订户身份模块(SIM)卡、记忆棒、安全数字(SD)存储卡等。在其它示例中,处理器32可以从没有物理地位于M2M设备30上(诸如在服务器或家用计算机上)的存储器访问信息,并将数据存储在其中。处理器32可以被配置为响应于本文描述的一些示例中与事件和动作排序相关联的方法和***是成功还是不成功(例如,请求等)来控制显示器或指示器42上的照明图案、图像或颜色,或以其它方式指示事件和动作排序***210及其相关联组件的状况。控制显示器或指示器42上的照明图案、图像或颜色可以反映本文中图示或讨论的图(例如,图1-图15等)中的任何方法流程或组件的状况。本文公开了事件和动作排序***的消息和过程。消息和过程可以被扩展以提供接口/API,以供用户经由输入源(例如,扬声器/麦克风38、小键盘40或显示器/触摸板42)请求事件和动作排序***信息(例如,EventState资源218)。在附加的示例中,除了可以显示在显示器42上的其它内容之外,尤其可以存在事件和动作排序***信息的请求、配置或查询。
处理器32可以从电源48接收电力,并且可以被配置为向M2M设备30中的其它组件分配或控制电力。电源48可以是用于为M2M设备30供电的任何合适的设备。例如,电源48可以包括一个或多个干电池(例如,镍镉(NiCd)、镍锌(NiZn)、镍金属氢化物(NiMH)、锂离子(Li离子)等)、太阳能电池、燃料电池等。
处理器32还可以与GPS芯片组50耦合,GPS芯片组50被配置为提供关于M2M设备30的当前位置的位置信息(例如,经度和纬度)。将认识到的是,M2M设备30可以通过任何合适的位置确定方法获取位置信息,同时保持与本文公开的信息一致。
处理器32还可以与其它***设备52耦合,***设备52可以包括提供附加特征、功能或者有线或无线连接性的一个或多个软件或硬件模块。例如,***设备52可以包括各种传感器,诸如加速度计、生物测定(例如,指纹)传感器、电子罗盘、卫星收发器、传感器、数码相机(用于照片或视频)、通用串行总线(USB)端口或其它互连接口、振动设备、电视收发器、免提耳机、模块、调频(FM)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器等等。
传输/接收元件36可以在其它装置或设备中实施,诸如传感器、消费电子产品、可穿戴设备(诸如智能手表或智能服装)、医疗或电子健康设备、机器人、工业装备、无人机、交通工具(诸如小汽车、卡车、火车或飞机)。传输/接收元件36可以经由一个或多个互连接口(诸如可以包括***设备52之一的互连接口)连接到这种装置或设备的其它组件、模块或***。
图17D是示例性计算***90的框图,可以在其上实现例如图17A和图17B的M2M服务平台22。计算***90(例如,M2M终端设备18或M2M网关设备14)可以包括计算机或服务器,并且可以主要由计算机可读指令通过存储或访问这些指令的任何手段来控制。这种计算机可读指令可以在中央处理单元(CPU)91内执行,以使计算***90工作。在许多已知的工作站、服务器和个人计算机中,中央处理单元91由称为微处理器的单芯片CPU实现。在其它机器中,中央处理单元91可以包括多个处理器。协处理器81是与主CPU 91不同的可选处理器,其执行附加功能或辅助CPU 91。CPU 91或协处理器81可以接收、生成并处理与所公开的与事件和动作排序(诸如接收EASP资源请求消息)相关联的***和方法相关的数据。
在操作中,CPU 91取出、解码并执行指令,并经由计算机的主数据传输路径、***总线80,向其它资源传送信息和从其它资源传送信息。这种***总线连接计算***90中的组件并定义用于数据交换的介质。***总线80通常包括用于发送数据的数据线、用于发送地址的地址线,以及用于发送中断和用于操作***总线的控制线。这种***总线80的示例是PCI(***组件互连)总线。
与***总线80耦合的存储器设备包括随机存取存储器(RAM)82和只读存储器(ROM)93。这种存储器包括允许存储和检索信息的电路***。ROM 93一般包括不能被容易地修改的存储数据。存储在RAM 82中的数据可以由CPU 91或其它硬件设备读取或改变。对RAM82或ROM 93的访问可以由存储器控制器92控制。存储器控制器92可以提供地址翻译功能,该地址翻译功能在执行指令时将虚拟地址翻译成物理地址。存储器控制器92还可以提供存储器保护功能,该存储器保护功能隔离***内的进程并将***进程与用户进程隔离。因此,以第一模式运行的程序只能访问由其自己的进程虚拟地址空间映射的存储器;除非已设置进程之间的存储器共享,否则它无法访问另一个进程的虚拟地址空间内的存储器。
此外,计算***90可以包括***设备控制器83,其负责将来自CPU 91的指令传送到***设备,诸如打印机94、键盘84、鼠标95和磁盘驱动器85。
由显示器控制器96控制的显示器86用于显示由计算***90生成的视觉输出。这种视觉输出可以包括文本、图形、动画图形和视频。显示器86可以用基于CRT的视频显示器、基于LCD的平板显示器、基于气体等离子体的平板显示器或触摸面板来实现。显示器控制器96包括生成被发送到显示器86的视频信号所需的电子组件。
另外,计算***90可以包括网络适配器97,其可以用于将计算***90连接到外部通信网络,诸如图17A和图17B的网络12。
应该理解的是,本文描述的任何或所有***、方法和处理都可以以存储在计算机可读存储介质上的计算机可执行指令(例如,程序代码)的形式实施,当指令由机器(诸如计算机、服务器、M2M终端设备、M2M网关设备等)执行时,执行或实现本文描述的***、方法和处理。具体而言,上述任何步骤、操作或功能可以以这种计算机可执行指令的形式实现。计算机可读存储介质包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,但是这种计算机可读存储介质本身不包括信号。如从本文的描述中可以明显看出的,存储介质应当被解释为法定主题。计算机可读存储介质包括RAM、ROM、EEPROM、闪存或其它存储技术,CD-ROM、数字通用盘(DVD)或其它光盘存储器,磁带盒、磁带、磁盘存储装置或其它磁存储设备,或者任何其它可以用于存储期望信息并可以由计算机访问的物理介质。计算机可读存储介质可以具有存储在其上的计算机程序,计算机程序可以可加载到数据处理单元中并适于在计算机程序由数据处理单元运行时使数据处理单元执行方法步骤。
在如图所示描述本公开的主题(与事件和动作排序相关联的方法和***)的优选方法、***或装置时,为了清楚起见采用了具体术语。但是,所要求保护的主题并不旨在限于如此选择的具体术语,并且应当理解的是,每个具体元件包括以类似方式操作以实现类似目的的所有技术等同物。
本文描述的各种技术可以结合硬件、固件、软件或者在适当的情况下其组合来实现。这种硬件、固件和软件可以驻留在位于通信网络的各个节点处的装置中。装置可以单独操作或彼此组合操作,以实现本文所描述的方法。如本文所使用的,术语“装置”、“网络装置”、“节点”、“设备”、“网络节点”等可以互换使用。此外,除非本文另外提供,否则词“或”的使用一般被包容性地使用。
本书面描述使用示例来公开本发明,包括最佳模式,并且还使本领域技术人员能够实践本发明,包括制造和使用任何设备或***以及执行任何结合的方法。本发明的可专利范围由权利要求限定,并且可以包括本领域技术人员想到的其它示例(例如,在本文公开的示例性方法之间跳过步骤、诸如图5-图6之类的组合步骤或添加步骤)。如果这些其它示例具有与权利要求的字面语言没有不同的结构元件,或者如果它们包括与权利要求的字面语言无实质差别的等效结构元件,那么这些其它示例意图在权利要求的范围内。
本文公开了一种实现EASP的功能的***。IoT设备可以基于EASP、EventState和Transition资源的使用来创建EASP(如图3、图5、图9、图10、图11所示)。所公开的方法和***允许在EASP操作时对其进行更新(如图8、图14中所示)。诸如表1–表3等的信息可以被认为是可以用于创建EASP的应用编程接口。
处理创建可配置事件和动作排序IoT***的资源的请求,该***定义复杂应用的组件。所创建的资源是EASP、EventState和Transition资源及其关联参数。
使可配置事件和动作排序IoT***运行,并且该***将管理EASP的操作。这包括链接到可以并行运行的其它EASP,在***运行时更新EASP内的资源,而不影响EASP的操作,以及向请求者提供EASP操作的状况。此外,所公开的***具有使用EASP资源中的参数(前提条件和/或退出条件)将多个EASP链接在一起的能力。这样做的能力使得能够通过将较小的组件链接在一起而创建复杂的IoT应用。
EASP被编程为针对应用执行操作,其中该应用要求多个步骤(例如,模块)。图1中所示的酿酒应用涉及许多步骤,这些步骤以对葡萄进行去梗开始以开始酿酒过程。这就是EASP编程要做的事情。例如,EASP一次一个步骤按顺序进行整个过程,并具有相关联的EASP资源(例如,表1、表2或表3)。到另一个步骤的过渡可以是由检测到的事件造成的。
如本文所述的方法、***和装置尤其可以提供用于物联网***中可配置事件和动作排序的手段,其可以包括从请求者获得创建事件和动作排序处理资源(EASP资源)的请求,其中EASP资源可以包括以下信息:EASPID、描述、EASP的当前状况、控制操作、前提条件、退出条件、EASP中的事件的数量、EASP开始时的初始事件状态或EASP的最终事件;并且响应于请求而创建EASP资源。EASPID、描述、EASP的当前状态、控制操作、前提条件、退出条件、EASP中的事件的数量、EASP开始时的初始事件状态或EASP的最终事件与特定参数对应。方法、***、计算机可读存储介质或装置具有用于维持通信以使得能够根据需要向请求者传送状况信息的手段。方法、***、计算机可读存储介质或装置具有用于使用前提条件或退出条件参数将当前EASP的操作与其它现有EASP链接的手段。方法、***、计算机可读存储介质或装置具有用于以下的手段:从请求者获得创建EventState资源(例如,与事件的状态相关联的资源)的请求,其中EventState资源可以包括以下信息:用于当前事件状态的标识符、EventState的描述、事件状态的当前状况、事件状态的持续时间的设定时间、结束当前事件状态以允许事件状态的提早或异步退出的事件、触发事件状态过渡的事件和要过渡到的下一个EventState ID、当可以触发Transition Events参数以过渡到另一个事件状态时执行的动作的列表、或下一个EventState的标识符;并且响应于该请求而创建EventState资源。用于当前事件状态的标识符、EventState的描述、事件状态的当前状况、事件状态的持续时间的设定时间、结束当前事件状态以允许事件状态的提早或异步退出的事件、触发事件状态过渡的事件和要过渡到的下一个EventState ID、当可以触发Transition Events参数以过渡到另一个事件状态时执行的动作的列表、或下一个EventState的标识符与特定参数对应。方法、***、计算机可读存储介质或装置具有用于维持通信以使得能够根据需要向请求者传送状态信息的手段。方法、***、计算机可读存储介质或装置具有用于确定在EASP处于活动时是否可以集成对EASP的新的动态添加的EventState资源或对现有EventState资源的改变而不影响EASP的操作的手段。可以以与具体实施方式的其它部分一致的方式来设想这一段落和以下段落中的所有组合(包括步骤的去除或添加)。
方法、***、计算机可读存储介质或装置具有用于以下的手段:从请求者获得创建Transition资源的请求,其中Transition资源可以包括以下信息:造成事件状态过渡的事件、作为事件发生的结果而可以被执行的动作、或要过渡到的下一个事件状态;并且响应于该请求而创建Transition资源。造成事件状态过渡的事件、作为事件发生的结果而可以被执行的动作、或要过渡到的下一个事件状态与特定参数对应。方法、***、计算机可读存储介质或装置具有用于维持通信以使得能够根据需要向请求者传送状态信息的手段。方法、***、计算机可读存储介质或装置具有用于确定在EASP处于活动时是否可以集成对EASP的新的动态添加的Transition资源或对现有Transition资源的改变而不影响EASP的操作的手段。方法、***、计算机可读存储介质或装置具有用于以下的手段:从请求者获得创建事件和动作排序处理资源(EASP资源)的请求,其中EASP资源通过将事件链接到适用的动作将复杂的物联网应用定义为应用的较小组件,EASP资源可以包括以下信息:EASPID、描述、EASP的当前状况、控制操作、前提条件、退出条件、EASP中的事件的数量、当EASP开始时的初始事件状态,或EASP的最终事件;并且响应于该请求而创建EASP资源。可以以与具体实施方式的其它部分一致的方式来设想这一段落和以下段落中的所有组合(包括步骤的去除或添加)。
方法、***、计算机可读存储介质或装置具有用于以下的手段:获得为应用创建多个事件状态资源中的第一事件状态资源的请求,其中事件是物联网***中触发要执行的动作的条件;响应于该请求而创建事件状态资源,其中事件状态资源是包括以下内容的资源:事件的状态的当前状况、以及该状态的持续时间的时间量。方法、***、计算机可读存储介质或装置具有用于以下的手段:接收为该应用添加第二事件状态资源的请求;基于添加第二事件状态资源的请求,分析第一事件状态资源;并且基于对第一事件状态资源的分析,确定在EASP主动运行时何时可以集成EASP的第二事件状态资源而不会负面地影响EASP的操作。方法、***、计算机可读存储介质或装置具有用于以下的手段:接收更新应用的多个事件状态资源中的第二事件状态资源的请求;基于更新第二事件状态资源的请求,分析第一事件状态资源;并且基于对第一事件状态资源的分析,确定在EASP主动运行时何时可以更新EASP的第二事件状态资源而不会负面地影响EASP的操作。第一事件状态资源可以包括第一过渡资源。可以以与具体实施方式的其它部分一致的方式来设想这一段落和以下段落中的所有组合(包括步骤的去除或添加)。
如本文所述的方法、***和装置、计算机可读介质尤其可以提供用于***中可配置事件和动作排序的手段,其可以包括用于获得为应用创建多个事件状态资源中的第一事件状态资源的请求的手段,其中事件状态资源可以是与应用的事件的状态相关联的资源(例如,应用的整个处理中的模块或步骤,诸如酿酒过程中的发酵步骤),其中事件(例如,检测到的定时器、温度读数等)可以是触发要执行的动作的检测到的条件;基于该请求而创建事件状态资源,其中第一事件状态资源可以是包括事件的状态的当前状况和过渡参数(例如,包括表3等的信息的属性或资源)的资源。方法、***、计算机可读存储介质或装置具有用于以下的手段:接收为应用添加或更新第二事件状态资源的请求;基于添加或更新第二事件状态资源的请求,分析第一事件状态资源;并且基于对第一事件状态资源的分析,确定在EASP正在主动运行时何时可以集成EASP的第二事件状态资源(可以包括对应的步骤或模块)而不会负面地影响EASP的操作。事件状态资源可以包括结束事件的当前状态的事件的指示,以允许事件的当前状态的退出。***等可以包括用于获得创建过渡资源的请求的手段,其中过渡资源可以与第二事件状态资源相关联。第一事件状态资源可以包括要过渡到的下一个事件状态的标识符(例如,图15)。
Claims (20)
1.一种装置,所述装置包括:
电路***,所述电路***被配置为:
获得为应用创建用于事件和动作排序处理(EASP)的第一资源的请求,其中第一资源是在应用协议层之上充当中间件的服务中的唯一可寻址元素,其中第一资源是与包括所述应用的事件序列的进程相关联的资源,其中所述进程中的每个事件是触发要执行的动作的检测到的条件;和
响应于所述请求,创建第一资源,
其中第一资源包括:
在所述请求中指定的所述事件序列,
其中每个事件包括:
一个或多个条件,所述一个或多个条件触发要执行的一个或多个相关联的动作,
一个或多个动作,当由相关联的事件触发时所述一个或多个动作被执行,
生成与第一资源相关联的标识符;
响应于所接收到的请求,发送包括所生成的标识符的响应;
检测触发要执行的所述一个或多个相关联的动作的第一资源的事件条件;以及
执行由所述相关联的事件触发的所述一个或多个动作。
2.根据权利要求1所述的装置,其中,所述一个或多个条件包括以下中的至少一个:
值的阈值或范围、计时器的到期、对资源的RESTful操作、打开或关闭实体的操作、或由另一个进程执行的操作。
3.根据权利要求1所述的装置,其中,所述一个或多个动作包括以下中的至少一个:
事件过渡、对资源的RESTful操作、定时器的启动、设备管理操作、存储和转发操作、另一进程的启用、或致动器的控制。
4.根据权利要求1所述的装置,其中,第一资源包括用于定义所述进程中的所述事件序列中的初始事件的参数。
5.根据权利要求1所述的装置,其中,第一资源包括用于定义所述进程的文本描述的参数。
6.根据权利要求1所述的装置,其中,第一资源包括所述进程开始所必须满足的先决条件。
7.根据权利要求6所述的装置,其中,所述先决条件包括在所述进程开始之前执行的动作。
8.根据权利要求1所述的装置,其中,第一资源包括用于停止所述装置对所述进程的处理的退出条件。
9.一种方法,所述方法包括:
获得为应用创建用于事件和动作排序处理(EASP)的第一资源的请求,其中第一资源是在应用协议层之上充当中间件的服务中的唯一可寻址元素,其中第一资源是与包括所述应用的事件序列的进程相关联的资源,其中所述进程中的每个事件是触发要执行的动作的检测到的条件;和
响应于所述请求,创建第一资源,
其中第一资源包括:
在所述请求中指定的所述事件序列,
其中每个事件包括:
一个或多个条件,所述一个或多个条件触发要执行的一个或多个相关联的动作,
一个或多个动作,当由相关联的事件触发时所述一个或多个动作被执行,
生成与第一资源相关联的标识符;
响应于所接收到的请求,发送包括所生成的标识符的响应;
检测触发要执行的所述一个或多个相关联的动作的第一资源的事件条件;以及
执行由所述相关联的事件触发的所述一个或多个动作。
10.根据权利要求9所述的方法,其中所述一个或多个条件包括以下中的至少一个:值的阈值或范围、定时器的到期、对资源的创建RESTful操作、对资源的检索RESTful操作、对资源的更新RESTful操作、对资源的删除RESTful操作、打开或关闭设备的操作、或由另一进程执行的动作。
11.根据权利要求9所述的方法,其中,所述一个或多个动作包括以下中的至少一个:
事件过渡、对资源的RESTful操作、定时器的启动、设备管理操作、存储和转发操作、另一进程的启用、或致动器的控制。
12.根据权利要求9所述的方法,其中,第一资源包括用于定义所述进程中的所述事件序列中的初始事件的参数。
13.根据权利要求9所述的方法,其中,第一资源包括用于定义所述进程的文本描述的参数。
14.根据权利要求9所述的方法,其中,第一资源包括所述进程开始所必须满足的先决条件。
15.根据权利要求14所述的方法,其中,所述先决条件包括在所述进程开始之前执行的动作。
16.根据权利要求9所述的方法,其中,第一资源包括用于停止所述装置对所述进程的处理的退出条件。
17.一种计算机可读存储介质,其存储计算机可执行指令,当被计算设备执行时,所述计算机可执行指令使得所述计算设备执行包括以下的可执行操作:
获得为应用创建用于事件和动作排序处理(EASP)的第一资源的请求,其中第一资源是在应用协议层之上充当中间件的服务中的唯一可寻址元素,其中第一资源是与包括所述应用的事件序列的进程相关联的资源,其中所述进程中的每个事件是触发要执行的动作的检测到的条件;和
响应于所述请求,创建第一资源,
其中第一资源包括:
在所述请求中指定的所述事件序列,
其中每个事件包括:
一个或多个条件,所述一个或多个条件触发要执行的一个或多个相关联的动作,
一个或多个动作,当由相关联的事件触发时所述一个或多个动作被执行,
生成与第一资源相关联的标识符;
响应于所接收到的请求,发送包括所生成的标识符的响应;
检测触发要执行的所述一个或多个相关联的动作的第一资源的事件条件;以及
执行由所述相关联的事件触发的所述一个或多个动作。
18.根据权利要求17所述的方法,其中,所述一个或多个条件包括定时器的到期。
19.根据权利要求17所述的方法,其中,所述一个或多个条件包括打开或关闭设备的操作。
20.根据权利要求17所述的方法,其中,所述一个或多个动作包括致动器的控制或定时器的启动中的至少一个。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762554753P | 2017-09-06 | 2017-09-06 | |
US62/554,753 | 2017-09-06 | ||
PCT/US2018/049669 WO2019051028A1 (en) | 2017-09-06 | 2018-09-06 | CONFIGURABLE EVENT AND ACTION SEQUENCING ENVIRONMENT FOR INTERNET OBJECTS |
CN201880052117.0A CN111052710B (zh) | 2017-09-06 | 2018-09-06 | 用于物联网可配置事件和动作排序框架的装置和方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880052117.0A Division CN111052710B (zh) | 2017-09-06 | 2018-09-06 | 用于物联网可配置事件和动作排序框架的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117336338A true CN117336338A (zh) | 2024-01-02 |
Family
ID=63896617
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311459381.5A Pending CN117336338A (zh) | 2017-09-06 | 2018-09-06 | 用于物联网可配置事件和动作排序框架的装置和方法 |
CN201880052117.0A Active CN111052710B (zh) | 2017-09-06 | 2018-09-06 | 用于物联网可配置事件和动作排序框架的装置和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880052117.0A Active CN111052710B (zh) | 2017-09-06 | 2018-09-06 | 用于物联网可配置事件和动作排序框架的装置和方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US11381645B2 (zh) |
EP (2) | EP3679708B1 (zh) |
JP (2) | JP7295094B2 (zh) |
KR (1) | KR102625485B1 (zh) |
CN (2) | CN117336338A (zh) |
WO (1) | WO2019051028A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11159368B2 (en) * | 2018-12-17 | 2021-10-26 | Sap Se | Component integration |
US11291077B2 (en) * | 2019-11-25 | 2022-03-29 | International Business Machines Corporation | Internet of things sensor major and minor event blockchain decisioning |
US11341463B2 (en) | 2019-11-25 | 2022-05-24 | International Business Machines Corporation | Blockchain ledger entry upon maintenance of asset and anomaly detection correction |
US11449811B2 (en) | 2019-11-25 | 2022-09-20 | International Business Machines Corporation | Digital twin article recommendation consultation |
WO2021138913A1 (zh) * | 2020-01-10 | 2021-07-15 | Oppo广东移动通信有限公司 | 一种设备联动方法、电子设备及存储介质 |
CN111898001B (zh) * | 2020-06-24 | 2023-08-08 | 四川大学 | 一种基于属性过滤度的计数匹配方法 |
CN113973121B (zh) * | 2020-07-06 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 物联网数据处理方法、装置、电子设备及存储介质 |
US11507582B2 (en) * | 2020-12-09 | 2022-11-22 | Charter Communications Operating, Llc | Event-driven internet of things (IoT) abstraction using rules |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7337032B1 (en) * | 2004-10-04 | 2008-02-26 | Advanced Micro Devices, Inc. | Scheduling ahead for various processes |
US9413827B2 (en) | 2013-02-25 | 2016-08-09 | Qualcomm Incorporated | Context aware actions among heterogeneous internet of things (IOT) devices |
KR20160048169A (ko) * | 2013-08-29 | 2016-05-03 | 콘비다 와이어리스, 엘엘씨 | 사물 인터넷 이벤트 관리 시스템 및 방법 |
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 |
WO2017082506A1 (ko) * | 2015-11-09 | 2017-05-18 | 엘지전자 주식회사 | 무선 통신 시스템에서 통지 수신 중단 요청을 처리하기 위한 방법 및 이를 위한 장치 |
EP3378217B1 (en) * | 2015-11-16 | 2024-01-03 | Convida Wireless, LLC | Cross-resource subscription for m2m service layer |
US10437635B2 (en) * | 2016-02-10 | 2019-10-08 | Salesforce.Com, Inc. | Throttling events in entity lifecycle management |
CN105915730A (zh) * | 2016-06-30 | 2016-08-31 | 联想(北京)有限公司 | 一种控制方法、第一控制设备及服务器 |
CN106302418B (zh) | 2016-08-05 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 虚拟应用属性的更新方法和装置 |
-
2018
- 2018-09-06 KR KR1020207006271A patent/KR102625485B1/ko active IP Right Grant
- 2018-09-06 CN CN202311459381.5A patent/CN117336338A/zh active Pending
- 2018-09-06 CN CN201880052117.0A patent/CN111052710B/zh active Active
- 2018-09-06 WO PCT/US2018/049669 patent/WO2019051028A1/en unknown
- 2018-09-06 EP EP18789265.8A patent/EP3679708B1/en active Active
- 2018-09-06 JP JP2020512683A patent/JP7295094B2/ja active Active
- 2018-09-06 EP EP23187591.5A patent/EP4246935A3/en active Pending
- 2018-09-06 US US16/644,318 patent/US11381645B2/en active Active
-
2022
- 2022-05-23 US US17/750,599 patent/US11711431B2/en active Active
-
2023
- 2023-05-26 US US18/324,297 patent/US20230300199A1/en active Pending
- 2023-06-08 JP JP2023094981A patent/JP2023126776A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
KR102625485B1 (ko) | 2024-01-17 |
US11711431B2 (en) | 2023-07-25 |
US20210067591A1 (en) | 2021-03-04 |
EP3679708B1 (en) | 2023-11-01 |
JP7295094B2 (ja) | 2023-06-20 |
KR20200044827A (ko) | 2020-04-29 |
US20220279042A1 (en) | 2022-09-01 |
WO2019051028A1 (en) | 2019-03-14 |
EP4246935A3 (en) | 2024-03-06 |
CN111052710B (zh) | 2023-11-07 |
JP2023126776A (ja) | 2023-09-12 |
EP4246935A2 (en) | 2023-09-20 |
CN111052710A (zh) | 2020-04-21 |
EP3679708A1 (en) | 2020-07-15 |
US20230300199A1 (en) | 2023-09-21 |
JP2020537207A (ja) | 2020-12-17 |
US11381645B2 (en) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111052710B (zh) | 用于物联网可配置事件和动作排序框架的装置和方法 | |
US10594796B2 (en) | Extending an IoT control interface from an IoT controller to a user device as part of a video media stream of a wireless media presentation session | |
US10692492B2 (en) | Techniques for client-side speech domain detection using gyroscopic data and a system using the same | |
US20190296934A1 (en) | Implementation system and method for internet of things based on artificial intelligence | |
CN109270850A (zh) | 一种基于物联网的智能家居管理***及方法 | |
US20140244001A1 (en) | Controlling many different devices from a smart controller | |
US11722581B2 (en) | Mechanisms for an intelligent service layer request abstraction service | |
TW201826869A (zh) | 設備關聯方法、裝置、終端設備和作業系統 | |
JP2023029838A (ja) | 通信ネットワークにおける自動サービス登録 | |
EP2959642A1 (en) | Adaptive and extensible universal schema for heterogeneous internet of things (iot) devices | |
JP7003480B2 (ja) | 自動学習ユニバーサルゲートウェイ | |
CN105634881A (zh) | 应用场景推荐方法及装置 | |
US11677858B2 (en) | Optimizing interaction between applications and devices in a communications network | |
CN104967686A (zh) | 一种构建面型3s智慧服务商店***及其设计方法 | |
US20160157091A1 (en) | Terminal Peripheral Control Method, M2M Gateway, and Communications System | |
US10469573B2 (en) | Method, apparatus, and system for managing invitations for multi-device participation in an application program | |
US20210075869A1 (en) | Cross-domain discovery between service layer systems and web of things systems | |
EP3561698B1 (en) | Method and device for intelligently processing application event | |
WO2022161283A1 (zh) | 由通用服务实体执行的进程控制的方法 | |
CN112506087A (zh) | Fpga加速***和方法、电子设备以及计算机可读存储介质 |
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 |