CN105573128B - 用户装置及其驱动方法、提供服务的设备及其驱动方法 - Google Patents
用户装置及其驱动方法、提供服务的设备及其驱动方法 Download PDFInfo
- Publication number
- CN105573128B CN105573128B CN201510749557.XA CN201510749557A CN105573128B CN 105573128 B CN105573128 B CN 105573128B CN 201510749557 A CN201510749557 A CN 201510749557A CN 105573128 B CN105573128 B CN 105573128B
- Authority
- CN
- China
- Prior art keywords
- rule
- user device
- user
- service
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000015654 memory Effects 0.000 claims abstract description 41
- 230000002093 peripheral effect Effects 0.000 claims abstract description 28
- 230000004044 response Effects 0.000 claims abstract description 20
- 238000004891 communication Methods 0.000 claims description 57
- 238000012913 prioritisation Methods 0.000 claims description 16
- 230000009471 action Effects 0.000 description 44
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 16
- 230000004913 activation Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 2
- VEMKTZHHVJILDY-UHFFFAOYSA-N resmethrin Chemical compound CC1(C)C(C=C(C)C)C1C(=O)OCC1=COC(CC=2C=CC=CC=2)=C1 VEMKTZHHVJILDY-UHFFFAOYSA-N 0.000 description 2
- 238000005406 washing Methods 0.000 description 2
- 238000010420 art technique Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B15/00—Systems controlled by a computer
- G05B15/02—Systems controlled by a computer electric
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/26—Pc applications
- G05B2219/2642—Domotique, domestic, home control, automation, smart house
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Quality & Reliability (AREA)
- Selective Calling Equipment (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
提供了一种用户装置及其驱动方法、提供服务的设备及其驱动方法。所述用户装置包括:存储器,被配置为接收与执行装置的操作相关的规则并存储所述规则;控制器,被配置为控制:基于包括在存储的规则中的较先优先级操作的确定结果来执行所述较先优先级操作,响应于所述较先优先级操作完成,将所述规则发送到用于执行包括在所述规则中的较后优先级操作的外围装置。
Description
本申请要求于2014年11月5日在韩国知识产权局提交的分配编码号为10-2014-0153082号韩国专利申请的权益,该申请的全部公开通过引用合并于此。
技术领域
本公开涉及一种用户装置、驱动用户装置的方法、用于提供服务的设备以及驱动用于提供服务的设备的方法。更具体地说,本公开涉及在物联网(IoT)领域中的多个用户装置,驱动用户装置的方法、用于提供服务的设备以及驱动用于提供服务的设备的方法,其中,所述多个用户装置被配置为根据在与执行装置的操作相关的规则中定义的操作顺序来连续地接收规则并运行单独提供的规则引擎以执行规则中定义的单个操作。
背景技术
现有技术的通信范例曾经是以人为中心,但是现在物联网(IoT)的时代已到来,在物联网中,物体作为主体参与到通信中。这样的IoT环境的发展不仅使社会基础设施和产业能够整体改变,而且能够改变为私人定制的智能服务。为了这样的改变和服务,已提议生态系统能够通过将各种对象移近统一的IoT接口来激活IoT服务。
过去,向连接到一个中心服务器的大量装置提供服务。每个装置将对产生的事实(即,关于事件出现的信息)进行处理,将产生的信息发送到中心服务器,并执行中心服务器发出的命令。这里,事实可以是通过将诸如时间的信息添加到事件信息而产生的信息。中心服务器是具有高计算能力以及将被处理的所有规则的服务器级别的装置。中心服务器从装置接收所有事实,确定将通过规则引擎执行的规则,并执行相关服务。
此外,在根据现有技术的编写规则的技术中,提供了面向触发条件(trigger)的规则编写服务。因此,提供这样的规则编写服务:使用户选择装置以及触发条件“如果…”,然后“做”适合于该触发条件的“…”。
此外,在相关领域的技术中,提供额外的集线器装置来支持低规格装置,使得集线器装置可与中心服务器通信而不与低规格装置通信。
然而,相关领域的技术因为由集中式结构产生的负荷而引发了整个系统的性能问题。所有规则都由具有规则引擎的一个中心服务器来处理和管理并因此连接更多的装置,由中心服务器产生更多个负荷,这引发了整个系统的性能问题。也就是说,由于所有装置将产生的事实发送到中心服务器,所以过多的通信量集中在中心服务器,使得引起整个系统的操作效率低下。
此外,当中心服务器无法进行操作时,整个系统也无法操作。即使连接的装置是正常的,但是当中心服务器无法操作时,整个系统也无法操作。
同时,相关领域的技术因为面向触发条件的规则编写方法而在用户的角度上也不是直观的。面向触发条件的规则编写要求用户首先要想因果关系。也就是说,它强迫用户首先要想触发条件“如果…”,而不是期望的动作。然而,对于用户来说,首先想动作“想要…”是更加直观和自然的。例如,当在编写规则时,用户偏向于首先确定动作“想要打开电视机(TV)”,而不是“如果我坐在沙发上”。因此,面向触发条件的规则编写方法对于用户来说是不直观的。
此外,当编写规则时,太多的操作会引起用户的不便。为了编写规则,用户必须经过如下六个操作:选择触发条件装置、选择触发条件、选择针对触发条件的条件、选择执行装置、选择动作和选择动作触发条件。这些操作使会引起用户在编写规则时的不便和困难。
此外,需要集线器功能的额外装置。为了使低规格装置按照与服务器互锁的方式来进行操作,需要集线器功能的单独的装置。这引起了额外的成本。
将上述信息作为背景信息呈现仅是为了帮助理解本公开。至于上述信息中的任何信息是否可应用为关于本公开的现有技术,尚未做出确定也未做出断言。
发明内容
本公开的各方面在于至少解决上面提到的问题和/或缺点并至少提供下述优点。因此,本公开的一方面在于提供物联网(IoT)领域中的多个用户装置、用于驱动用户装置的方法、用于提供服务的设备和驱动用于提供服务的设备的方法,其中,用户装置被配置为根据在与执行装置的操作相关的规则中定义的操作顺序来连续地接收规则,并运行各自设置的规则引擎来执行在规则中定义的各自的操作。
根据本公开的一方面,提供了一种用户装置。用户装置包括:存储器,被配置为接收并存储与执行装置的操作相关的规则;控制器,被配置为控制:基于包括在存储的规则中的优先顺序操作的确定结果来执行所述优先顺序操作,响应于所述优先顺序操作完成,将所述规则发送到用于执行包括在所述规则中的下一顺序操作的外围装置。
存储器还可从用于提供服务的装置或另一用户装置接收所述规则并存储所述规则,其中,所述用于提供服务的装置接收关于所述规则的动作命令的输入,所述另一用户装置执行在所述优先顺序操作之前的操作。
存储器还可存储用于执行所述优先顺序操作的程序,并且控制器执行存储的与所述优先顺序操作的执行相关的所述程序。
响应于关于所述规则的存储命令,控制器可通过通信接口从用于提供的服务的装置接收所述程序,并存储接收到的所述程序。
控制器还可包括当将所述规则发送到所述外围装置时用于执行所述下一顺序操作的附加信息。
所述优先顺序操作可包括用于确定预定触发条件是否被满足的操作,所述下一顺序操作可包括响应于所述触发条件被满足而执行的控制操作,所述用户装置还可包括操作执行器,并且操作执行器可包括用于感测所述触发条件是否被满足的至少一个传感器。
根据本公开的另一方面,提供一种驱动用户装置的方法。所述方法包括:接收与执行装置的操作相关的规则并存储所述规则;基于包括在存储的规则中的优先顺序操作的确定结果,控制执行所述优先顺序操作,并响应于所述优先顺序操作完成,将所述规则发送到用于执行包括在所述规则中的下一顺序操作的外围装置。
存储与执行装置的操作相关的规则的步骤可包括:从用于提供服务的装置或另一用户装置接收所述规则并存储所述规则,其中,所述用于提供服务的装置接收关于所述规则的动作命令的输入,所述另一用户装置执行在所述优先顺序操作之前的操作。
存储与执行装置的操作相关的规则的步骤可包括:存储用于执行所述优先顺序操作的程序,执行所述优先顺序操作的步骤可包括:执行存储的与所述优先顺序操作的执行相关的所述程序。
存储与执行装置的操作相关的规则的步骤可包括:响应于关于所述规则的存储命令,通过通信接口从用于提供的服务的装置接收所述程序,并存储接收到的所述程序。
控制将所述规则发送到所述外围装置的步骤可包括:当将所述规则发送到所述外围装置时,提供用于执行所述下一顺序操作的附加信息。
所述优先顺序操作可包括用于确定预定触发条件是否被满足的操作,所述下一顺序操作可包括响应于所述触发条件被满足而执行的控制操作,执行所述优先顺序操作的步骤可包括感测所述触发条件是否被满足。
根据本公开的另一方面,提供了一种用于提供服务的装置。所述装置包括:程序管理器,被配置为将web页面提供给用户以用于编写与执行所述装置的操作相关的规则;操作管理器,被配置为响应于没有指定用于执行包括在编写的规则中的操作的装置,确定所述操作并自动指定用户的注册装置中的一个注册装置;装置管理器,被配置为将所述规则发送到所述指定的装置以执行包括在所述规则中的优先顺序操作。
操作管理器可控制装置管理器将与操作相关的程序发送到用于执行在所述规则中定义的操作的至少一个用户装置。
响应于来自用户的用于执行编写的规则的命令,操作管理器可控制装置管理器将所述规则发送到用于执行在所述规则中定义的优先顺序操作的用户装置。
操作管理器可识别用户的情境并自动指定装置。
根据本公开的另一方面,提供了一种驱动用于提供服务的装置的方法。所述方法包括:将web页面提供给用户以用于编写与执行所述装置的操作相关的规则;响应于没有指定用于执行包括在编写的规则中的操作的装置,确定所述操作并自动指定用户的注册装置中的一个注册装置;将所述规则发送到自动指定的装置以执行包括在所述规则中的优先顺序操作。
所述方法还可包括:响应于用于存储编写的规则的命令,将与操作相关的程序发送到用于执行在所述规则中定义的操作的至少一个用户装置。
所述方法还可包括:响应于来自用户的用于执行编写的规则的命令,将所述规则发送到用于执行在所述规则中定义的优先顺序操作的用户装置。
自动指定的步骤可包括识别用户的情境并自动指定装置。
根据上面提及的本公开的各种实施例,可通过分散的规则引擎来提高装置效率和系统轻量化,并且由于用户在编写规则时能够首先选择动作,因此向用户提供了直观性和便利性,从而使编写规则容易、快速、简单。不仅如此,还可插入与触发条件和动作相关的可插入式应用,从而提供了功能扩展,使得即使在低规格装置下也能够根据规则很简单地执行操作。
从下面结合附加进行的公开本公开的各种实施例的详细描述,本公开的其它方面、优点和显著特征对于本领域的技术人员来说将变得明显。
附图说明
从下面结合附图进行的描述中,本公开的特定实施例的以上和其它方向、特征和优点将更加明显,其中:
图1是示出根据本公开的实施例的生态系统的示图;
图2是图1的生态系统的示图;
图3是用于解释根据本公开的实施例的执行多个用户装置的操作的示图;
图4是用于解释根据本公开的实施例的在围绕用户的抽象级别编写规则的简单处理的示图;
图5是示出图1的用户装置1或用户装置2的详细结构的框图;
图6是示出图1的用户装置1或用户装置2的另一结构的框图;
图7是示出图1的用于提供服务的装置的结构的框图;
图8是示出根据本公开的实施例的使用生态系统的服务处理的示图;
图9A是示出图5的用户装置1或用户装置2的内部操作的示图;
图9B是示出图6的用户装置1或用户装置2的内部操作的示图;
图10是示出图1中示出的用户装置1或用户装置2的驱动处理的流程图;
图11是示出图1中示出的用户装置1或用户装置2的另一驱动处理的流程图;
图12是示出图1的用于提供服务的装置的驱动处理的流程图;
图13是示出用图1的于提供服务的设备的另一驱动处理的流程图;
图14A、图14B、图14C和图14D是用于解释根据本公开的各种实施例的在存在两个或更多个触发条件时使用运算符的规则处理过程的示图;
图15是示出根据本公开的实施例的生态系统的示图;
图16是示出根据本公开的实施例的生态系统的示图。
在整个附图中,相同的标号将被理解为指示相同的部分、组件和结构。
具体实施方式
提供参考附图的以下描述来帮助全面理解如权利要求及其等同物限定的本公开的各种实施例。以下描述包括各种特定细节来帮助理解,但是这些特定细节将被视为仅是示例性的。因此,本领域的普通技术人员将认识到可在不脱离本公开的范围和精神的情况下对在此描述的各种实施例进行各种改变和修改。另外,为了清楚和简洁,可省略对公知功能和结构的描述。
在下面说明以及权利要求中使用的术语和词语不限于字面含义,而仅被发明者使用以能够清楚和一致地理解本公开。因此,对于本领域的技术人员来说应该明显的是提供本公开的各种实施例的以下描述是为了说明的目的,而不是为了限制由权利要求及其等同物限定的本公开的目的。
将理解,除了上下文清楚地指明另外的情况,否则单独形式包括复数指示物。因此,例如,涉及“组件表面”包括涉及一个或更多个这样的表面。
图1是示出根据本公开的实施例的生态系统的示图,图2是图1的生态系统的示图,图3是用于解释根据本公开的实施例的多个用户装置的操作处理的示图。此外,图4是用于解释根据本公开的实施例的在面向用户的抽象级别的简单规则编写处理的示图。
参照图1,根据本公开的实施例的生态系统90包括至少一个用户装置100、100-1、100-2、通信网络110以及用于提供服务的装置120和第三方装置130中的一部分或全部。这里,至少一个用户装置100包括用户装置1 100-1和用户装置2 100-2。在图2中,提供了两个第三方装置130,即,第三方装置1 130-1和第三方装置2 130-2。
这里,包括用于提供服务的装置120和第三方装置130中的一部分或全部的意思是诸如第三方装置130的组件可被省略,或者诸如用于提供服务的装置120的另一组件可被集成在此,为了容易地理解本公开,将基于包括所有组件的情况来进行下面的解释。
用户装置1 100-1和用户装置2 100-2包括用户可使用的各种电子装置,例如移动装置(诸如移动电话、运动图像专家组阶段1或阶段2(MPEG-1或MPEG-2)、音频层3(MP3)、等离子显示面板(PDP)、个人数字助理(PDA)、笔记本和平板个人计算机(PC))、温度计、音频装置、电视机(TV)、可穿戴装置和洗衣机等。这些装置可包括用于用户执行规则的规则引擎,即,规则执行程序,并且这些装置可接收用于执行包括在规则中的特定(操作)任务的执行程序,例如,来自用于提供服务的装置120的应用。这里,应用是应用程序,是以解决特定任务为目的而编写的程序。换句话说,与基本软件(诸如操作系统、实用程序、语言处理程序等)不同,它是以处理特定任务为目的而编写的程序。应用程序可由用户直接编写,但是为了消除用户编写程序的不便,并且为了更容易使用,正在广泛地使用由各个领域的专家开发、编写和封装的应用程序,这被称为封装程序。
此外,规则是指用户为了执行相关联的多个操作而指定的一系列操作信息。规则可包括必须首先执行的较先优先级操作(或优先顺序操作)以及必须在较先优先级操作之后执行的较后优先级操作(或后续顺序操作)。这里,较先优先级操作可包括确定是否满足特定触发条件的确定操作,较后优先级操作可包括当满足特定触发条件时开始的动作操作。可存在各种各样的规则,例如,“打开房屋的门锁,并识别用户,使得当用户进入房屋时,打开客厅灯,将移动电话与房屋内的Wi-Fi网络”、“如果用户回到家并坐在沙发上,则自动打开TV”、“如果在特定时间段内没有使用移动电话并且用户躺在枕头上,则执行睡眠模式(例如,调节光亮、重放睡眠模式音乐等)”、“如果我在房屋附近并且房屋温度是30度以上,则打开空调”等。以下将解释更多特定规则操作。
此外,规则引擎是指用于执行这样的规则的程序或者用于执行所述程序的硬件。例如,规则引擎可指关于小的软件单元充当核心作用的程序,即,执行接口功能的模块。规则引擎可以是相对轻量级的规则引擎。例如,用户可将规则编写工具存储在用户装置1100-1中,其中,规则编写工具是用于提供服务的装置120提供的规则编写程序,用户可执行存储的程序并访问用于提供服务的装置120的web页面(如图2所示)以设置期望的规则,然后当存储了设置的规则时,与规则相关的用户装置1 100-1和用户装置2 100-2可从用于提供服务的装置120接收与操作相关的应用并存储该应用。
参照图2,将触发条件-动作应用插入用户装置中是指用于根据由用户编写的规则来处理规则的触发条件或者与动作相应的应用安装在用户装置中。例如,如果由用户编写的规则是“如果用户在家并坐在沙发上,则打开TV”,则以下程序被安装在用户装置中:作为与感测用户是否已回家的触发条件相应的应用的程序、与感测用户是否坐在沙发上的触发条件相应的程序以及与打开TV的动作相应的程序。如此,本公开的实施例支持与这样的触发条件-动作相应的程序的插入,从而使用户在使用服务时能够动态地添加规则。
随后,当用户请求执行在web页面上编写的规则时,用于执行较先优先级操作的用户装置1 100-1可接收用于提供服务的装置120提供的规则。例如,假设用户设置了如图3所示的“如果我在房屋附近并且房屋温度在30度以上,则打开空调”的规则,那么较先优先级操作将是确定我是否在房屋附近,较后优先级操作将是确定房屋温度是否在30度以上,并且最后优先级操作将是打开空调。因此,用于感测我是在房屋附近的用户装置1 100-1(例如,移动电话)可首先接收相应规则。当接收到相应规则时,用户装置1 100-1确定(或提取)作为用户装置1 100-1必须执行的任务的操作。这里,该任务包括与触发条件相关的操作或与动作相关的操作。
然而,当用户装置1 100-1必须执行的操作被感测到,并且该操作被完成时,相应的规则被转发给用户装置2 100-2,即,温度计。这里,为了执行相应操作,用户装置1 100-1可执行先前接收并存储的应用。当用户装置1 100-1的操作完成时,用户装置1 100-1可删除相应规则。
当然,可不执行删除。换句话说,从用于提供服务的装置120接收规则的用户装置1100-1是相应规则的拥有者。从用户装置1 100-1接收规则的用户装置2 100-2是相应规则的非拥有者。也就是说,规则的拥有者可继续存储从用于提供服务的装置120接收到的规则,使得下次规则可被再次执行。然而,从其它用户装置1 100-1接收规则的非拥有者可处理规则,将规则发送到较后优先级用户装置,并删除规则。换句话说,由于它无法自己开始规则处理,因此没有必须保留规则。
此外,从用于提供服务的装置120接收规则并执行诸如规则引擎的程序(或与相应于触发条件和动作的操作相关的应用)的规则拥有者可即使在处理规则并将规则发送到较后优先级用户装置2 100-2之后也不停止(或结束)相应程序。也就是说,规则拥有者可继续执行程序使得规则可被再次执行。然而,规则拥有者执行接收到的规则的程序,将规则发送到较后优先级装置,并使程序停止执行。也就是说,当规则从规则的最较先优先级用户装置(即,规则拥有者)被接收到时,这时程序已被执行,因此没有必要继续执行该程序。
通过这样的存储规则、删除规则并结束程序的方法,用户装置可有效地维护计算电源(或电能)。关于节能,由于仅在需要时进行操作,因此可仅在低规格硬件(H/W)的情况下支持服务。
同时,用户装置1 100-1可根据接收到的规则的规则激活触发条件来激活规则和/或使规则失活并运行所述规则。换句话说,用户在编写规则时可设置诸如规则激活时间和空间等的规则激活触发条件,并且当这样的规则激活触发条件被满足时,用户装置1 100-1可对规则进行处理或执行包括在规则中的用户装置1 100-1的操作或任务。例如,即使用户装置1 100-1在特定点从用于提供服务的装置120接收到针对较先优先级操作的规则,用户装置1 100-1也可以等到规则激活触发条件被满足,然后再执行用户装置1 100-1的操作。与这样的激活触发条件相关的信息可以是一类附加信息,这样的附加信息可通过这样的显示屏被设置:该显示屏是通过选择出现在用于在web上设置与触发条件相应的操作的显示屏上的单独的按钮图标而新出现的。如果不存在对关于特定时间或地点等的激活触发条件的设置,则可认为用户装置1 100-1一直在操作。
此外,在对多个规则进行处理的情况下,如果多个规则包括与同一个触发条件相应的操作,则响应于与被感测到的同一个触发条件相应的操作,用户装置1 100-1可将与感测到的触发条件相应的多个规则发送到不同的多个装置中的每个装置。例如,如果用户装置1 100-1从用于接收服务的装置120接收到A规则、B规则和C规则,并且每个规则包括同一触发条件“如果移动电话摇动”,则响应于这样的触发条件被感测到,相应规则被发送到用于执行A规则中的较后优先级操作的装置、用于执行B规则中的较后优先级操作的装置以及用于执行C规则中的较后优先级操作。例如,如果A规则中的较后优先级操作是全球定位系统(GPS)模块,B规则中的较后优先级操作是蓝牙模块,C规则中的较后优先级操作是Wi-Fi模块,则每个规则被发送到具有相应模块的每个装置。
用户装置1 100-1不仅可执行接收到的规则中的用户装置1 100-1的操作,然后基于预定顺序将规则发送到用于执行较后优先级操作的装置,还可确定下一个发送的顺序,改变顺序并相应地发送规则。例如,在将规则发送到用户装置2 100-2之前,用户装置1100-1可确定用户装置2 100-2的操作情境。换句话说,如果通过与用户装置2 100-2的通信确定用户装置2 100-2中存在过多的内部负荷,则规则可被发送到用于执行下一较后优先级操作的用户装置3。当然,这应该在改变操作顺序不会造成很大差别时完成。在该处理中,当用户装置2 100-2的内部负荷缓解时,执行下一较后操作的用户装置3可将规则发送到用户装置2 100-2,并因此可在不受限制的情况下完成这样的发送顺序的改变。
除了这样的内部负荷之外,用户装置1 100-1还可检查附加信息(例如,频率信息),然后在不受限制的情况下改变发送顺序。这里,频率信息可以是显示用户多常使用特定模块的信息。用户装置1 100-1可结束其操作,并检查频率信息以将规则发送到下一个装置,并检查是否存在预先执行操作的装置。如果不存在频率信息,规则将被发送到用于执行较后优先级操作的装置,但是如果发现了具有频率信息的装置,则规则将被发送到该装置。例如,GPS模块不被经常使用,并且准备操作要花很多时间,因此可预先操作具有频率信息的GPS。当在web页面上编写规则时设置需要首先执行操作的装置的操作时,这样的频率信息可被自动插入到用于提供服务的装置120中。当用于提供服务的装置120的系统设计者已设置了在GPS模块的情况下需要插入频率信息时,在相应装置的操作被设置时,所述信息可被自动插入。
此外,用户装置1 100-1在执行其操作之后,在将规则发送到用于执行较后优先级操作的用户装置2 100-2之前,用户装置1 100-1可更新规则并发送更新后的规则。换言之,用户装置2 100-2可插入显示其操作已完成的信息,并发送该信息。不仅是这样,当例如规则“当文本消息到达时,将其显示在屏幕上”被接收到时,通信模块可确定文本消息是否已到达,并且如果确定文本消息已到达,则用户装置1 100-1可插入文本消息的内容,并将其发送到用于执行较后优先级操作的装置(即,显示装置)。当然,在这种情况下,可以按照各种格式插入信息,并发送该信息。例如,用户装置1 100-1可将信息插入到相应规则之中的与用户装置1 100-1的操作相关的信息区域中,但是用户装置1 100-1也可将该信息插入到用于执行较后优先级操作的装置的信息区域中,并发送该信息。
同时,假设用户处理与通过用户装置1 100-1的编写相关的规则,用户可执行存储在用户装置1 100-1中的编写工具,并可访问web页面来编写规则,但是还可下载在规则市场中预先编写好的规则。另外,还可下载预先编写好的规则,对其进行编辑并使用。不仅是这样,还可接收由朋友编写的规则,并与服务分享规则。这里,当将编写好的规则存储在用于操作服务的装置120(例如,云服务器)中时,该规则将被存储在用户的账户中。
此外,用户装置2 100-2确定从用户装置1 100-1发送的规则,并确定用户装置2100-2应该执行的操作。例如,当规则中的用于执行每个操作的信息区域被划分时,可比较每个区域中是否存在与其装置相应的信息,并确定其装置应该执行的操作。此外,在确定的点之后,用户装置2 100-2执行其应该执行的操作。
也就是说,参照图3,温度计意识到其应该执行的操作是将温度调节到30度,并执行温度感测操作。如果温度在30度以上,则温度计将规则转发给用户装置3 100-3(例如,空调),空调从接收到的规则确定“打开空调”是空调应该执行的操作,并打开空调。然后,当最后的操作被确定时,用户装置3可删除相应的规则。换句话说,当执行接收到的规则中的最后优先级操作时,用户装置3执行其应该执行的操作,向用户装置1 100-1通知操作已完成,并丢弃相应的规则。因此,通过用户装置1 100-1,用户可识别出规则处理已完成。
参照图2,诸如移动电话和计算机的用户装置可在用户的请求下执行内部存储的规则编写工具,访问用于提供服务的装置120的web页面120b,并直接参与规则编写处理。换句话说,诸如移动电话和计算机的用户装置可访问用于提供服务的装置120并接收web页面120b,并可在web页面120b上设置关于其装置的操作。此外,能够显示图像的用户装置可设置其它装置(诸如洗衣机和音频装置)的操作。这里,规则内的操作可被分为与触发条件相应的操作和与动作相应的操作。更具体地说,如果触发条件操作具有假设格式“如果…”或“当…时”,则动作操作可具有指令格式。当然,动作操作可具有陈述句格式诸如“我想让你打开…”或问句格式“你能打开…吗?”,因此对于上述内容没有限制。
然而,诸如移动电话和计算机的用户装置在web页面120b上的第一屏幕上设置与动作相应的操作,并当该设置完成时,在第二屏幕中设置与触发条件相应的操作。当然,还可在第三屏幕上设置规则激活触发条件。第二屏幕可在第一屏幕上的关于操作的设置完成时自动显示,但是第三屏幕可通过在第二屏幕上选择特定图标或按钮而被显示。这里,第一屏幕至第三屏幕互相独立。然而,本公开的实施例不仅可独立地配置每个屏幕,还可显示被划分为多个区域的一个屏幕,或者第一屏幕和第二屏幕可被形成为一个屏幕而第三屏幕被形成为独立的屏幕,因此对此内容没有限制。
通信网络110可以是无线通信网络或有线通信网络。这里,有线网络包括互联网(诸如电缆网络或公共交换电话网络(PSTN)),而无线通信网络包括码分多址(CDMA)、宽带CDMA(WCDMA)、全球移动通信系统(GSM)、分组核心演进(EPC)、长期演进(LTE)和无线宽带(Wibro)网络。当然,根据本公开的实施例的通信网络110不限于此,因此通信网络110可在例如云计算环境下在云计算网络中被用作下一代移动通信系统的接入网络。例如,当通信网络110是有线通信网络时,通信网络110内的接入点可接入电话公司的交换处(exchangeoffice),但是在无线通信网络的情况下,可接入通信运营商运行的服务通用分组无线服务(GPRS)支持节点(SGSN)或网关GPRS支持节点(GGSN),并对数据进行处理,或者可接入各种中继点(诸如基站发信台(BTS)、NodeB、演进NodeB(e-NodeB)),并对数据进行处理。
通信网络110可包括接入点。接入点包括广泛安装在建筑物中的小型基站(诸如毫微微(femto)基站或微微(pico)基站)。这里,根据可接入多达多少的用户装置1 100-1和用户装置2 100-2来区分femto和pico。当然,接入点包括用于与用户装置1 100-1和用户装置2 100-2执行短距离通信(诸如ZigBee和Wi-Fi等)的短距离通信模块。接入点可使用用于无线通信的传输控制协议/互联网协议(TCP/IP)或实时流传输协议(RTSP)。这里,除了可在Wi-Fi标准下执行短距离通信,还可在各种标准(诸如蓝牙、ZigBee、红外线(IrDA)、超高频(UHF)和射频(RF)(诸如甚高频(VHF)和超宽带(UWB))等)下执行短距离通信。因此,接入点可提取数据包的位置,指定关于提取的位置的最佳通信路径,并根据指定的通信路径将数据包发送到下一个装置(例如,发送到用户装置1 100-1和用户装置2 100-2)。接入点可在通用网络环境中共享多条线,并可包括例如路由器、中继器和中继节点等。
用于提供服务的装置120可介入用户的规则编写。换句话说,当用户执行他/她的计算机中提供的规则编写工具并且请求规则编写时,用于提供服务的装置120可提供用于规则编写的web页面120b。此外,当用户请求存储由用户编写的规则时,用于提供服务的装置120可存储相应规则,并将相应操作所需的应用发送到用于执行包括在规则中的操作的用户装置1 100-1和用户装置1 100-2。此外,当由用户编写好的规则被执行时,用于提供服务的装置120将规则发送到用于执行编写好的规则中的较先优先级操作的用户装置1 100-1。
此外,用于提供服务的装置120可向第三方装置130提供开放的应用编程接口(API)。换句话说,用于提供服务的装置120可作为第三方装置130的平台进行操作。因此,用于提供服务的装置120可存储第三方装置130提供的各种格式的应用。这些应用可与兼容于用户装置1 100-1和用户装置2 100-2的装置有关,或者可以是以互锁方式与相关领域的服务或内容一起操作的应用。
此外,在用户在web页面120b上编写规则的情况下,当设置与动作和触发条件相应的操作时,如果特定装置未被指定,则用于提供服务的装置120可分析与动作和触发条件相应的操作,并自动指定由用户注册的装置之一。这里,用于提供服务的装置120可考虑用户的情境来执行设置。例如,假设用户编写规则“如果温度在30度以上,则打开空调”,那么如果用户在家,则家里的空调应该被打开,而如果用户在车中,则车里的空调必须被打开。因此,当自动指定执行规则内的操作的装置时,用于提供服务的装置120可考虑用户的当前情境来进行指定,并将相应规则发送到用于执行较先优先级操作的装置。这可被称为在面向用户的抽象级别的简单规则编写。即,用户可在不考虑装置的情况下在围绕用户的抽象级别编写规则。
例如,用户可将“使家里变暖”选为动作,将“如果天气寒冷”选为触发条件,并在抽象级别产生简单的规则。在这样的情况下,用于提供服务的装置120可基于用户的情境感知来产生规则,并推荐用于获得特定操作的规则。这里,情境感知是上面提到的反映用户的当前情况。例如,情境可包括用户在家的情况和用户在车里的情况。因此,通过产生的抽象规则,用于提供服务的装置120可通过用户的位置和环境信息考虑装置中的在抽象级别的规则来产生详细规则400。另外,用于提供服务的装置120可建议已反映了环境信息和装置的详细规则410以供用户选择。
第三方装置130除了是开发硬件或软件的公司之外,还是由小型或中型开发商操作的装置,并且产品可根据由用于提供服务的装置120请求的给定标准来生产。换句话说,第三方装置130可提供与兼容于用户装置1 100-1和用户装置2 100-2的装置相关的应用或者以与相关领域的服务和内容互锁的方式进行操作的应用。也就是说,第三方公司开发与装置的动作和触发条件相关的应用,使得开发的物联网(IoT)装置可以以与服务互锁的方式进行操作,并将该应用注册在用于提供服务的装置120的触发条件/动作市场120a中。
因此,用户通过规则编写工具经由用于提供服务的装置120中注册的动作和触发条件编写规则,并将该规则注册在用于提供服务的装置120中。用于提供服务的装置120要求根据注册的规则将与动作和触发条件相关的应用安装在每个用户装置中,并且要求在安装完成之后将规则发送到所述用户装置。此外,所述用户装置可通过集线器和代理功能与低规格IoT装置交互,并对规则进行处理。
这里,代理功能是指这样的功能:当用户装置已被用户为指定为用于执行规则处理操作的用户装置,但是由于安装的低规格H/W而无法执行规则处理操作时,由能够执行规则处理操作的外围用户装置来代替执行与通信网络110的通信,下载并执行应该被装置在低规格硬件上的与触发条件和动作相关的应用,并在使用相应应用感测到或执行了触发条件和动作时,将规则发送到较后优先级用户装置。
图5是示出图1的用户装置1或用户装置2的详细结构的框图。
参照图5,用户装置1 100-1或用户装置2 100-2(以下被称为用户装置1)包括通信接口500、控制器510、操作执行器520和存储器530中的一部分或全部。
这里,包括通信接口500、控制器510、操作执行器520和存储器530中的一部分或全部的意思是诸如接口500的组件可被省略,或者诸如操作执行器520的另一组件可集成在此,为了容易理解本公开,将基于包括所有组件的情况来进行下面的解释。
通信接口500可接收由用户编写的规则,更具体地说,从作为外部装置的用于提供服务的装置120接收规则信息。这里,初始接收规则的装置与执行包括在规则中的操作之中的较先优先级操作的装置相应。如果执行较后优先级操作的装置接收到规则,则可认为从相应规则的、执行的较先优先级操作的外围装置接收到该较先优先级操作。当然,即使装置不是用于执行较先优先级操作的装置,也可以以与执行代理功能的外围装置互锁的方式来对规则进行处理,因此对上述内容没有限制。
控制器510可控制用户装置1 100-1内的通信接口500和操作执行器520,并可控制与规则处理相关的操作。为此目的,控制器510可将用于执行规则的规则引擎包括在规则执行器510a内,并还可包括用于执行具体操作(即,动作或触发条件)的应用。因此,控制器510可确定接收到的规则中的控制器510应该执行的操作,并且当操作完成时,控制器510通过通信接口500将接收到的规则转发回用于执行较后优先级操作的外围装置。
操作执行器530执行规则中的操作执行器520应该执行的操作。例如,如果用户装置1 100-1必须执行操作“如果我到家”,则操作执行器520可以是传感器。例如,操作执行器520可包括陀螺传感器。当然,除了陀螺传感器之外,为了确定用户是否到家,操作执行器520可以是使用GPS的GPS接收模块或者是使用定位信息的各种功能块。这样的操作执行器520可根据存储在控制器510中的应用的执行来进行操作。例如,当感测值从操作执行器520被发送到控制器510时,控制器510可识别出已通过接收到的感测值感测到事件。因此,控制器510可将规则发送到外围装置。
当然,操作执行器520可以是除了传感器之外的各种组件之一。例如,在具有温度计的空调的情况下,执行用于感测“温度是否在30度以上”的操作的温度计可起到操作执行器520的作用。此外,在TV的情况下,用于执行操作“当用户语音被识别时”的语音识别器(即,麦克风)可以是操作执行器520。除此之外,在冰箱的情况下,在必须执行操作“当经过9个小时时”的情况下,用于感测该操作的计时器可起到操作执行器520的作用。
存储器530可临时存储在控制器510的控制下处理的各种数据,并可在由控制器510请求时输出所述各种数据。此外,存储器530可存储接收到的规则,并在控制器510请求时提供存储的规则。不仅是这样,存储器530还可存储与规则内的相应于触发条件和动作的操作相关的应用,并将该应用提供给控制器510。
这样的存储器530可期望地包括诸如随机存取存储器(RAM)的易失性存储器,但是代替地,存储器530可包括诸如只读存储器(ROM)的非易失性存储器。
图6是示出根据本公开的实施例的与用户装置1或用户装置2不同的结构的框图。
参照图6,根据本公开的另一实施例的用户装置1 100-1或用户装置2 100-2(以下被称为用户装置1)可包括通信接口600、存储器610、控制器620、规则执行器630、操作执行器640和显示器650的一部分或全部。
这里,包括一部分或全部的意思是诸如显示器650的组件可被省略,或者诸如存储器610和规则执行器630的另一组件可被集成在相同的组件和控制器620中,为了容易理解本公开,将基于包括所有组件的情况来进行以下解释。
将图6的用户装置1 100-1’和用户装置2 100-2’与图5的用户装置1 100-1和用户装置2 100-2比较,图6的通信接口600和操作执行器640与通信接口500和操作执行器520没有很大的不同,因此可应用相同的元件。
此外,图6的存储器610、控制器620和规则执行器630可被认为执行与图5的控制器510相同或相似的操作。然而,如果图5示出执行一个软件或仅执行并操作规则处理的情况,则图6示出软件可被划分。换句话说,存储器610可存储用于提供服务的装置提供的与动作和触发条件相关的应用。此外,规则执行器630可包括软件(S/W)模块或硬件处理器的规则引擎。因此,当规则被接收到时,控制器620执行规则执行器630,确定规则中的控制器620应该执行的操作,并使用存储在存储器610中的应用以进行与动作或触发条件相应的操作。此外,操作执行器640根据控制器620的控制执行与动作或触发条件相应的操作。例如,在感测温度的操作的情况下,操作执行器640可包括温度感测传感器。此外,操作执行器640还可执行确定温度是否在30度以上的特定操作,并将结果发送到控制器620。当确定根据接收到的结果已完成操作时,控制器可控制通信接口600并将规则转发到用于执行较后优先级操作的外围装置。
如果显示器650是能够显示图像的装置,则规则编写可被要求。例如,显示器650可显示由图1的用于提供服务的装置120提供的web页面120b,并且当存在两个或更多个触发条件和动作时使用户另外设置运算符。为了编写对于用户来说直观的规则,显示器650可首先显示与动作相应的第一区域,然后首先设置与第一区域的动作相应的操作,然后显示用于设置与触发条件相应的操作的第二区域。更具体地说,显示器可进行操作使得与动作相应的操作可被首先设置。例如,当在第二区域中设置与触发条件相应的操作时,显示器可向用户通知首先设置第一区域的信息。
同时,根据本公开的实施例,可按各种方法来配置图6。换句话说,存储器610可以是易失性存储器或非易失性存储器,规则执行器630可以是非易失性存储器。这里,易失性存储器可包括RAM,非易失性存储器可包括ROM、可擦除可编程ROM(EPROM)和电可擦除可编程ROM(EEPROM)。此外,控制器620可包括中央处理器(CPU)和易失性存储器。因此,CPU可将存储在存储器610中的应用存储到控制器620内的易失性存储器中,并执行该应用,此外,CPU可将规则执行器630的规则引擎相关程序存储在控制器620内的易失性存储器中,随后执行该程序。
图7是示出图1的用于提供服务的装置的结构的框图。
参照图7,根据本公开的实施例的用于提供服务的装置120包括程序管理器700、操作管理器710和装置管理器730的一部分或全部,一部分或全部的意思与上述的相同。
程序管理器700可起到将用于与执行装置的操作相关的规则编写的web页面120b提供给用户的作用。此外,当用户请求关于规则的存储命令或执行命令时,程序管理器700可通知操作管理器710。
此外,操作管理器710可执行用于提供服务的装置120的整体控制操作。例如,操作管理器710可存储并管理由图1的第三方装置130提供的应用,并且根据程序管理器700的存储命令和执行命令,操作管理器710可控制装置管理器730将应用提供给图1的用户装置1100-1和用户装置2 100-2,并将用户编写的规则发送到用户装置1 100-1。
不仅是这样,当用户没有指定用于执行规则中的操作的装置时,操作管理器7100可确定规则内的操作,并自动地指定用户注册的装置中的至少一个装置。这涉及在围绕用户的抽象级别的简单规则编写,但在上面已充分解释了,因此进一步的解释将省略。
此外,装置管理器730是例如这样的一类通信接口,该通信接口被配置为根据操作管理器710的控制将规则发送到装置或自动指定的装置以执行规则内的较先优先级操作,并发送与相应于动作和触发条件的操作相关的应用。
图8是示出根据本公开的实施例的使用生态系统的服务处理的示图。
参照图8,在操作S800,根据本公开的实施例的用于提供服务的装置120可存储由用户编写的规则。此外,在操作S810和S820,在来自用户的存储命令下,所述装置可将包括在规则中的操作(即,与动作和触发条件相应的操作)发送到用于执行每个操作的装置(例如,应用)。例如,当规则被存储时,用于提供服务的装置120可对存储的规则进行分析,并确定哪个应用与动作和触发条件相应以及用于执行相应操作的装置是哪个装置。
当用于提供服务的装置120发送与操作相关的程序时,在操作S830,用户装置1100-1和用户装置2 100-2存储接收到的程序。
随后,当用于提供服务的装置120中存在与编写的规则相关的执行命令时,在操作S840,用于提供服务的装置120将规则发送到执行规则内的较先优先级操作的用户装置1100-1。
随后,在操作S850,用户装置1 100-1执行内部的规则引擎以对规则进行分析,并确定用户装置1 100-1应该执行的操作,然后感测与该操作相关的事件是正在发生还是已经完成。
当操作完成时,在操作S860,用户装置1 100-1将相应规则转发给用于执行较后优先级操作的用户装置2 100-2。在该处理中,用户装置1 100-1可向相应规则中添加信息并发送该信息。当这样的信息被添加到相应规则中时,规则可以是更新后的规则。
图9A是示出具有图5的结构的用户装置1或用户装置2的内部操作的示图。
参照图9A和图5,根据本公开的实施例的用户装置1 100-1的控制器510可包括用于执行与触发条件或动作相应的操作的应用(即,模块510-1)、作为用于规则执行的程序的一部分的服务客户端510-2以及作为用于规则执行的程序的一部分的规则引擎510-3。
这里,服务客户端510-2可起到用于处理模块510-1和事件信息的接口的作用,规则引擎510-3可起到执行与规则分析相关的核心操作的作用。
在操作S901,服务客户端510-2可将从图5的通信接口500提供的规则发送到规则引擎510-3。
随后,在操作S903,规则引擎510-3对接收到的规则进行分析,并执行其操作(即任务)。
随后,在操作S905,规则引擎510-3请求服务客户端510-2进行操作(即,执行任务)以执行提取的操作。
在操作S907,服务客户端510-2运行与执行相应操作相关的模块。
随后,当其操作正在执行时,相应模块510-1通知服务客户端510-2,并且在操作S909,服务客户端510-2将产生的事实发送到规则引擎510-3。
例如,在与触发条件“当感测到移动时”相应的操作中的操作中,如果模块510-1通过图2的操作执行器520内的传感器提供的信号而感测到移动,则感测到的信息被提供给服务客户端510-2,并且服务客户端510-2重新处理相应信息并将相应信息发送到规则引擎510-3。这里,指示移动已被感测到的信息成为事件,重新处理的信息成为事实。例如,事实可以是已插入了诸如时间等的附加信息的信息。例如,在感测诸如智能电话的终端是否“摇动”的情况下,服务客户端510-2可将发生摇动的信息、发生摇动的时间和地点以及终端摇动得多厉害作为事实发送到规则引擎510-3。另外,在终端“确定文本消息是否到达”的情况下,事实可包括文本到达的信息、关于文本从谁发来的信息以及关于文本的地点和时间的信息。
当然,这样的事实可从外围装置被发送。例如,在确定当前接收到的规则的结果的情况下,当用户装置(例如空调)必须测量周围温度但是又不存在用于感测温度的传感器或者传感器坏了时,用户装置可从外围装置接收作为事实的温度感测值。这可在用户装置请求时被执行,但是这还可由直接接收规则并确定与用户装置的触发条件相应的操作的外围装置来执行。
接下来,在操作S911和S913,规则引擎510-3搜索与接收到事实匹配的规则并更新搜索到的规则。例如,对于处理多个规则来说,操作S911至S913是必需的,但是对于处理一个规则来说,可省略操作S911。
此外,在操作S915,规则引擎510-3请求服务客户端510-2将规则发送到用于执行较后优先级操作的装置。
因此,在操作S917,服务客户端510-2可通过通信接口500将规则发送到用于执行较后优先级操作的装置。
随后,在操作S919和S921,服务客户端510-2将请求规则引擎510-3删除相应事实,并要求模块510-1结束处理。
图9B是示出根据本公开的实施例的用户装置1或用户装置2的内部操作的示图。
参照图9B和图6,在操作S951,根据本公开的实施例的用户装置1 100-1的控制器620可将接收到的规则发送到规则执行器730。
在操作S953,规则执行器630可运行规则引擎并对规则进行分析以确定(或提取)操作(任务)。此外,在操作S955,规则执行器630请求控制器620执行操作。
在该处理中,在操作S957,控制器620执行应用(即存储在存储器610中的模块)并运行操作执行器640(诸如传感器)。例如,假设操作执行器640是传感器,那么控制器620可使用存储在存储器610中的应用以运行传感器。
此外,存储器610内的应用确定感测信号是否通过传感器单元的传感器被感测到,并且当感测信号被感测到时,存储器610确定发生事件并通知控制器620,在操作S959,控制器620可将产生的事件发送回规则执行器630。
此外,当接收到事件时,在操作S961,规则执行器630可插入通知较先优先级操作已被完成的信息,从而更新规则。
此外,在操作S963,在将更新的规则发送到控制器620的同时可请求规则转发。
在由规则执行器630请求时,在操作S965,控制器620将规则发送到用于执行较后优先级操作的装置。
此外,在操作S967和S969,当通过再次通知规则执行器630规则发送完成时,控制器620可删除与事件相关的事实。
随后,在操作971,规则执行器930可请求控制器620结束模块,并在操作S973,规则执行器930结束存储器610内的模块的运行。
同时,可按各种方式来修改图9B的操作。换句话说,控制器620可将存储在非易失性存储器中的模块(即应用)和存储在规则执行器630中的规则执行程序存储在单独的易失性存储器中,并运行模块和规则执行程序。在该处理中,控制器620可使用其内部的易失性存储器来快速处理信息,并因此对此没有限制。
图10是示出用于驱动图1的用户装置1和用户装置2的处理的流程图。
参照图10和图1,在操作S1000,用户装置1 100-1从外部装置(即,用于提供服务的装置120)接收规则以执行包括在由用户编写的规则中的较先优先级操作。
此外,在操作S1010,用户装置1 100-1确定包括在接收到的规则中的较先优先级操作,并基于确定的结果执行较先优先级操作。换句话说,用户装置1 100-1可确定接收到的规则中的用户装置1 100-1应该执行的较先优先级操作,并感测确定的较先优先级操作是否已完成。例如,为了执行与触发条件“当到家时”相应的较先优先级操作,用户装置1100-1(诸如移动电话)可通过陀螺仪传感器感测用户是否到家。
在操作S1020,当较先优先级操作完成时,相应规则被发送到用于执行包括在规则中的较后优先级操作的外围装置。例如,移动电话可将规则发送到门锁以执行与执行“打开门锁”相应的较后优先级操作。
随后,门锁可感测门锁是否被打开,并且如果当门锁被打开时存在后续操作“打开客厅灯”,则门锁可将规则发送到客厅的照明装置。
图11是示出根据本公开的实施例的图1中示出的用户装置1或用户装置2的另一驱动处理的流程图。
参照图11和图1,为了容易解释,在操作S1100,用户装置1 100-1存储用于执行包括在由用户编写的规则中的操作的程序。这样的存储操作可以是在存在规则的存储命令时进行。
随后,在用于执行编写的规则的请求下,在操作S1110,用于执行规则中的较先优先级操作的装置(即,用户装置1 100-1)从用于提供服务的装置接收相应规则。
此外,在操作S1120,用户装置1 100-1确定包括在接收到的规则中的较先优先级操作,并基于确定结果执行较先优先级操作。更具体地说,用户装置1 100-1确定接收到的规则中的用户装置1 100-1应该执行的较先优先级操作。此外,用户装置1 100-1感测确定的操作是否已被执行并完成。
在操作S1130,当较先优先级操作完成时,规则被发送到用于执行较后优先级操作的外围装置。这里,可以以已添加并更新信息的规则的格式来提供规则。
图12是示出图1的用于提供服务的装置的驱动处理的流程图。
参照图12和图1两者,为了容易解释,在操作S1200,根据本公开的实施例的用于提供服务的装置120将用于规则编写的web页面提供给用户。
随后,在操作S1210,用于提供服务的装置120在由用户编写的规则的存储命令下将规则相关程序发送到用于执行在规则中定义的操作的至少一个用户装置。这里,规则相关程序是指与构成操作的动作和触发条件相关的程序。
此外,在操作S1220,用于提供服务的装置120在用户的关于编写的规则的执行命令下,将规则发送到用于执行在规则中定义的较先优先级操作的装置。参照图1,用于执行较先优先级操作的装置变成用户装置1 100-1。
图13是示出图1的用于提供服务的装置的另一驱动处理的流程图。图13涉及在围绕用户的抽象级别的简单规则编写。
参照图13和图1两者,为了容易地解释,在操作S1300,根据本公开的实施例的用于提供服务的装置120将用于规则编写的web页面提供给用户。
随后,在操作S1310,当没有指定用于执行包括在编写的规则中的操作的装置时,用于提供服务的装置120确定规则内的操作,并自动指定由用户注册的装置中的至少一个装置。在该处理中,用于提供服务的装置120可识别用户情境,并指定装置。这已在上面充分解释,因此省略过多的解释。
此外,在操作S1320,用于提供服务的装置120将规则发送到自动指定的用于执行较先优先级操作的装置。
图14A至图14D是用于解释根据本公开的各种实施例的当存在两个或更多个触发条件时使用运算符的规则编写处理的示图,图14A示出通过操作A→B的规则处理,图14B示出通过操作A&B→C的规则处理,图14C示出通过操作A│B→C的规则处理,图14D示出通过操作A*B→C的规则处理,这里,“&”(和)指示连续规则(例如,如果A和B,则进行C),“│”(或)指示规则(例如,如果A或B,则进行C),“*”(同时)指示同时规则(例如,如果A和B同时发生,则进行C)。
以下,将基于图1的用户装置1 100-1和用户装置2 100-2是移动电话并且用于提供服务的装置120是服务器的假设来进行解释。
参照图14A,服务器120’可分析由用户编写的规则,并将必要的执行和触发条件应用列表发送到移动电话A 100-1”和移动电话B 100-2”(见2.1)。
此外,移动电话A 100-1”和移动电话B 100-2”请求与动作和触发条件相关的应用并安装该应用(见2.2)。
服务器120’将规则发送到执行较先优先级操作的移动电话A 100-1”。移动电话A100-1”接收规则并执行移动电话A 100-1”应该执行的操作(见2.3)。
例如,如果移动电话A 100-1”应该执行的操作(任务)是感测Wi-Fi(或Wi-Fi模块)是否被打开,则在感测到Wi-Fi被打开时移动电话A 100-1”将规则发送到移动电话B 100-2”。
随后,移动电话B 100-2”打开用于位置跟踪(例如作为较先优先级(或较后优先级)操作)的GPS模块,并将负责规则的较先优先级操作的规则发送到移动电话A 100-1”。换句话说,移动电话B 100-2”通知规则处理已正常进行。
此外,如图14B所示,移动电话A 100-1”和移动电话B 100-2”根据和触发条件(见2.3~2.5)执行连续操作,移动电话C 100-3”执行蓝牙模块,并将规则发送到A,通知规则已被正常处理。
此外,如图14C所示,具有或运算符的移动电话A 100-1”和移动电话B 100-2”同时从服务器120’接收规则。
此外,如果移动电话B 100-2”满足触发条件(即,当感测Wi-Fi是否已被执行时),则由于规则具有或运算符,因此移动电话A 100-1”将规则到送到执行与动作相应的操作的移动电话C 100-3”。移动电话C 100-3”打开蓝开,并将规则发送到移动电话B 100-2,并通知规则处理已被正常进行。这里,如果规则是一次性规则,则规则被执行一次并随后被删除。
参照图14D,由于规则是具有运算符(同时)“*”的规则,因此移动电话A 100-1”和移动电话B 100-2”同时从服务器120’接收规则(见2.3)。移动电话A 100-1”感测Wi-Fi是否正被打开,移动电话B 100-2”感测GPS是否正被打开。当在移动电话A 100-1”和移动电话B100-2”中感测到每个操作时,感测到的时间被记录在规则中,移动电话A 100-1”将规则发送到移动电话B 100-2”,并且移动电话B 100-2”将规则发送到移动电话A 100-1”。移动电话A 100-1”和移动电话B 100-2”将其操作发生的时间与记录在规则中的另一移动电话的操作发生的时间进行比较,如果确定两个操作在同时发生,则将规则发送到移动电话C100-3”。
同时,图14B至图14D可包括图14A的操作2.1和2.2。
图15是示出根据本公开的实施例的生态系统的示图。
参照图15,根据本公开的实施例的生态系统90’可包括用户装置11500-1、用户装置21500-2、中继装置1500-3、通信网络1510和用于提供服务的装置1520。
与图1相比,差别在于:图15的生态系统90’提供了中继装置1500-3(诸如家庭服务器或家庭网关),从而减轻了用于提供服务的装置1520(诸如云服务器)的负荷。
例如,中继装置1500-3是例如家庭服务器,并且用于提供服务的装置1520管理在家A中发生的事件,从而减轻了用于提供服务的装置1520的负荷。
用于提供服务的装置1520是例如具有每个用户的账户的云服务器,存储并管理关于用户(诸如家A)具有的所有装置的信息,并可管理当前正执行的规则信息。
其它的用户装置1 1500-1、用户装置2 1500-2、通信网络1510和用于提供服务的装置1520已在上面被充分解释,因此省略进一步解释。
图16是示出根据本公开的实施例的生态系统的示图。
参照图16,根据本公开的实施例的生态系统90”可包括较先优先级操作装置1600-1、较后优先级操作装置1600-2、通信网络1610和用于提供服务的装置1620。
与图1相比,图16的较先优先级操作装置1600-1是其必须根据用户的规则编写执行较先优先级操作的情况,但是用于通过通信网络1610直接接收规则的硬件模块或程序的规格不足。例如,当仅具有用于蓝牙通信的通信模块时,不能从执行CDMA通信或Wi-Fi通信的通信网络1610直接接收规则。
在这种情况下,如果存在能够与通信网络1610通信的较后优先级操作装置1600-2,则较先优先级操作装置1600-1可从周围的较后优先级操作装置1600-2接收规则。
随后,较先优先级操作装置1600-1可处理该规则,并将该规则发送回较后优先级操作装置1600-2。在该处理中,如果较后优先级操作装置1600-2能够与较先优先级操作装置1600-1同时执行操作,则较后优先级操作装置1600-2可将规则发送到较先优先级操作装置1600-1,并随后也执行较后优先级操作装置1600-2的操作。同时操作已在上面参照图14D被解释。
在用户编写规则并指定装置执行与特定操作相应的操作(即,操作或动作)的情况下,用于提供服务的装置1620可基于存储在装置内的装置的信息来检查与每个装置的规格相关的信息。
作为结果,如果确定较先优先级操作装置1600-1无法通过通信网络1610接收规则,则可检查较后优先级操作装置1600-2的规格,并且如果可接收规则,则可请求通信网络1610将规则发送到较后优先级操作装置1600-2,并且较后优先级操作装置1600-2可确定是否将规则发送到较先优先级操作装置1600-1,并发送该规则。
例如,如果作为检查发送的规则的结果不存在关于较先优先级操作的完成的信息,则较后优先级操作装置1600-2可基于此来将规则发送到较先优先级操作装置1600-1。另外,在用于提供服务的装置1620中提供将规则发送到较先优先级操作装置1600-1的附加信息的情况下,规则可基于此而被发送。此外,如果较后优先级操作装置1660-2确定在规则中具有较后优先级,但是是从通信网络1610接收规则而不是从外围装置(诸如较先优先级操作装置1600-1)接收规则,则规则可被发送到较先优先级操作装置1600-1。按这样的方法,根据本公开的较先优先级操作装置1600-1可从外围装置接收规则并执行优先优先级操作。
其它的较先优先级操作装置1600-1和较后优先级操作装置1600-2、通信网络1610和用于提供服务的装置1620与图1的用户装置100-1、用户装置100-2、通信网络110和用于提供服务的装置120的差别不大,因此可省略进一步的解释。
同时,即使构成本公开的实施例的所有组件被解释为组合在一个组件中或者在一个组件中进行操作,但对此也没有限制。也就是说,只要它们在本公开的目的内,所有组件可选择性地组合为一个或更多个组件并相应地操作。此外,即使所有组件被实现为一个独立的硬件,组件中的一部分或全部可被选择性地组合,并可被实现为具有用于执行在一个或多个硬件中组合的功能的一部分或全部的程序模块的计算机程序。用于构成计算机程序的代码和代码段可容易被本领域的技术人员想到。这样的计算机程序可被存储在非暂时性计算机可读介质中并被执行,从而实现本公开的实施例。
这里,非暂时性计算机可读介质是指半永久性地存储数据而非像寄存器、高速缓冲器和内存短暂地存储数据的计算机可读介质。具体地,上述程序可被存储在非暂时性计算机可读介质(诸如致密盘(CD)、数字通用盘(DVD)、硬盘、蓝光盘、通用串行总线(USB)、存储卡和ROM)中,并在此被提供。
虽然已参照本公开的各种实施例示出并描述了本公开,但是本领域的技术人员将理解,在不脱离由权利要求及其等同物限定的本公开的精神和范围的情况下,可对本公开进行形式和细节上的各种改变。
Claims (12)
1.一种用户装置,包括:
存储器,被配置为从另一用户装置接收与执行装置的操作相关的规则并存储所述规则;
控制器,被配置为控制:
基于包括在存储的所述规则中的优先顺序操作的确定结果来执行所述优先顺序操作,
响应于所述优先顺序操作完成,将所述规则发送到用于执行包括在所述规则中的下一顺序操作的外围装置,
其中,所述优先顺序操作是由所述用户装置基于所述用户装置的所述确定结果而执行的操作,
所述下一顺序操作由所述外围装置基于发送的所述规则而确定,并由所述外围装置执行,
所述另一用户装置执行了包括在所述规则中的在所述优先顺序操作之前的操作。
2.如权利要求1所述的用户装置,其中,存储器还被配置为从用于提供服务的装置接收所述规则并存储所述规则,其中,所述用于提供服务的装置接收到关于所述规则的执行命令的输入。
3.如权利要求1所述的用户装置,
其中,存储器还存储用于执行所述优先顺序操作的程序,
其中,控制器还被配置为执行存储的与所述优先顺序操作的执行相关的所述程序。
4.如权利要求3所述的用户装置,其中,响应于关于所述规则的存储命令,控制器还被配置为:
通过通信接口从用于提供的服务的装置接收所述程序,
存储接收到的所述程序。
5.如权利要求1所述的用户装置,其中,控制器还被配置为当将所述规则发送到所述外围装置时,发送用于执行所述下一顺序操作的附加信息。
6.如权利要求1所述的用户装置,
其中,所述优先顺序操作包括用于确定预定触发条件是否被满足的操作,
其中,所述下一顺序操作包括响应于所述触发条件被满足而执行的控制操作,
其中,所述用户装置还包括操作执行器,并且操作执行器包括用于感测所述触发条件是否被满足的至少一个传感器。
7.一种驱动用户装置的方法,所述方法包括:
从另一用户装置接收与执行装置的操作相关的规则并存储所述规则;
基于包括在存储的所述规则中的优先顺序操作的确定结果,控制执行所述优先顺序操作;
响应于所述优先顺序操作完成,控制将所述规则发送到用于执行包括在所述规则中的下一顺序操作的外围装置,
其中,所述优先顺序操作是由所述用户装置基于所述用户装置的所述确定结果而执行的操作,
所述下一顺序操作由所述外围装置基于发送的所述规则而确定,并由所述外围装置执行,
所述另一用户装置执行了包括在所述规则中的在所述优先顺序操作之前的操作。
8.如权利要求7所述的方法,
其中,所述方法还包括:从用于提供服务的装置接收所述规则并存储所述规则,其中,所述用于提供服务的装置接收到关于所述规则的执行命令的输入。
9.如权利要求7所述的方法,其中,存储所述规则的步骤包括:
存储用于执行所述优先顺序操作的程序,
其中,执行所述优先顺序操作的步骤包括:执行存储的与所述优先顺序操作的执行相关的所述程序。
10.如权利要求9所述的方法,其中,存储用于执行所述优先顺序操作的程序的步骤包括:响应于关于所述规则的存储命令,通过通信接口从用于提供的服务的装置接收所述程序,并存储接收到的所述程序。
11.如权利要求7所述的方法,其中,控制将所述规则发送到所述外围装置的步骤包括:当将所述规则发送到所述外围装置时,发送用于执行所述下一顺序操作的附加信息。
12.如权利要求7所述的方法,
其中,所述优先顺序操作包括用于确定预定触发条件是否被满足的操作,
其中,所述下一顺序操作包括响应于所述触发条件被满足而执行的控制操作,
其中,执行所述优先顺序操作的步骤包括感测所述触发条件是否被满足。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0153082 | 2014-11-05 | ||
KR1020140153082A KR101943430B1 (ko) | 2014-11-05 | 2014-11-05 | 사용자 장치, 사용자 장치의 구동방법, 서비스제공장치 및 서비스제공장치의 구동방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105573128A CN105573128A (zh) | 2016-05-11 |
CN105573128B true CN105573128B (zh) | 2020-12-08 |
Family
ID=55852576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510749557.XA Active CN105573128B (zh) | 2014-11-05 | 2015-11-05 | 用户装置及其驱动方法、提供服务的设备及其驱动方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10627789B2 (zh) |
KR (1) | KR101943430B1 (zh) |
CN (1) | CN105573128B (zh) |
WO (1) | WO2016072636A1 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102539580B1 (ko) | 2016-12-01 | 2023-06-05 | 삼성전자주식회사 | 조건부 액션에 대한 정보를 공유하기 위한 방법 및 그 전자 장치 |
US10970138B2 (en) | 2017-05-09 | 2021-04-06 | Microsoft Technology Licensing, Llc | Modular applications using a common provisioning service |
CN109392030B (zh) * | 2017-08-02 | 2021-12-28 | 中国移动通信有限公司研究院 | 一种在基站之间进行切换的方法和无线网络 |
EP3460594A1 (en) * | 2017-09-26 | 2019-03-27 | Vestel Elektronik Sanayi ve Ticaret A.S. | Systems and methods for controlling operation of a home appliance |
CN112313924B (zh) * | 2018-05-07 | 2024-09-10 | 谷歌有限责任公司 | 提供用于控制各种连接设备的复合图形助理界面 |
JP6931669B2 (ja) * | 2019-03-19 | 2021-09-08 | ミサワホーム株式会社 | 宅内機器制御システム |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11102208A (ja) * | 1997-09-29 | 1999-04-13 | Nissan Motor Co Ltd | シーケンス処理方法およびこれに用いるシーケンスコントローラ |
US20070037605A1 (en) * | 2000-08-29 | 2007-02-15 | Logan James D | Methods and apparatus for controlling cellular and portable phones |
US20030018508A1 (en) | 2001-07-19 | 2003-01-23 | Schwanke Robert W. | Data-triggered workflow processes |
KR100434545B1 (ko) | 2002-03-15 | 2004-06-05 | 삼성전자주식회사 | 홈네트워크로 연결된 가전기기들을 제어하는 방법 및 장치 |
US20060184410A1 (en) * | 2003-12-30 | 2006-08-17 | Shankar Ramamurthy | System and method for capture of user actions and use of capture data in business processes |
US8217756B2 (en) | 2004-09-01 | 2012-07-10 | Microsoft Corporation | Rule-based filtering and alerting |
JP2006197061A (ja) | 2005-01-12 | 2006-07-27 | Matsushita Electric Ind Co Ltd | 電気機器ネットワークシステムおよび電気機器 |
US8156500B2 (en) | 2005-07-01 | 2012-04-10 | Microsoft Corporation | Real-time self tuning of planned actions in a distributed environment |
FR2897186B1 (fr) | 2006-02-06 | 2008-05-09 | Somfy Sas | Procede de communication par relais entre une telecommande nomade et des equipements domotiques. |
US20070266421A1 (en) * | 2006-05-12 | 2007-11-15 | Redcannon, Inc. | System, method and computer program product for centrally managing policies assignable to a plurality of portable end-point security devices over a network |
US20080125101A1 (en) * | 2006-08-03 | 2008-05-29 | Nokia Corporation | Method, Apparatus and Computer Program Product for Cross Triggering and Detection of Platform Dependent Resources, Features, Actions and Events |
EP2056198A4 (en) * | 2006-08-24 | 2010-08-18 | Netcleus Systems Corp | TASK PROCESSING DEVICE |
US7669081B2 (en) * | 2006-09-27 | 2010-02-23 | Raytheon Company | Systems and methods for scheduling, processing, and monitoring tasks |
US8214351B2 (en) | 2007-04-16 | 2012-07-03 | International Business Machines Corporation | Selecting rules engines for processing abstract rules based on functionality and cost |
US8738383B2 (en) * | 2007-06-07 | 2014-05-27 | Aesynt Incorporated | Remotely and interactively controlling semi-automatic devices |
US8306634B2 (en) * | 2008-12-23 | 2012-11-06 | Samsung Electronics Co., Ltd. | Adaptive and user location-based power saving system |
US9838255B2 (en) * | 2009-08-21 | 2017-12-05 | Samsung Electronics Co., Ltd. | Mobile demand response energy management system with proximity control |
CN103052053B (zh) * | 2010-02-12 | 2016-03-02 | 华为技术有限公司 | 优先级业务处理方法、装置和系统 |
US8751432B2 (en) | 2010-09-02 | 2014-06-10 | Anker Berg-Sonne | Automated facilities management system |
US8600914B2 (en) | 2010-11-30 | 2013-12-03 | Red Hat, Inc. | Left and right unlinking for a shared knowledge base |
US10244500B2 (en) | 2011-03-30 | 2019-03-26 | Wei Lu | Open wireless architecture (OWA) mobile cloud infrastructure and method |
KR101978180B1 (ko) * | 2011-06-09 | 2019-05-14 | 삼성전자주식회사 | 클라이언트 장치에서 어플리케이션의 사용자 경험을 제어하는 방법 및 시스템 |
US20130178990A1 (en) | 2011-07-13 | 2013-07-11 | Bradley Kayton | Triangulated Rules Engine |
KR20130037610A (ko) * | 2011-10-06 | 2013-04-16 | 삼성전자주식회사 | 스마트 그리드 네트워크에서 명령 충돌을 방지하기 위한 장치 및 방법 |
US10552769B2 (en) * | 2012-01-27 | 2020-02-04 | Oracle International Corporation | Status management framework in a distributed order orchestration system |
US20150257103A1 (en) * | 2012-09-27 | 2015-09-10 | Google Technology Holdings LLC | Method and device with an augmented rules engine |
US20140095690A1 (en) * | 2012-09-28 | 2014-04-03 | Alcatel-Lucent Usa Inc. | Real time rules engine for policies orchestration in a mobile telecommunications network |
KR101397471B1 (ko) | 2012-10-16 | 2014-05-20 | 전자부품연구원 | 디바이스 플랫폼이 설치된 IoT 장치 및 IoT 어댑터 |
-
2014
- 2014-11-05 KR KR1020140153082A patent/KR101943430B1/ko active IP Right Grant
-
2015
- 2015-10-15 WO PCT/KR2015/010921 patent/WO2016072636A1/en active Application Filing
- 2015-10-15 US US14/884,149 patent/US10627789B2/en active Active
- 2015-11-05 CN CN201510749557.XA patent/CN105573128B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
WO2016072636A1 (en) | 2016-05-12 |
CN105573128A (zh) | 2016-05-11 |
KR20160053676A (ko) | 2016-05-13 |
US20160124404A1 (en) | 2016-05-05 |
US10627789B2 (en) | 2020-04-21 |
KR101943430B1 (ko) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105573128B (zh) | 用户装置及其驱动方法、提供服务的设备及其驱动方法 | |
US10657963B2 (en) | Method and system for processing user command to provide and adjust operation of electronic device by analyzing presentation of user speech | |
US20200267221A1 (en) | Method, system, and device for controlling an internet of things device | |
US10762055B2 (en) | Utilizing user devices for backing up and retrieving data in a distributed backup system | |
JP6616473B2 (ja) | ページを制御する方法および装置 | |
EP3360292B1 (en) | Cloud-synchronized architecture for a home automation system | |
US11985138B2 (en) | Systems and methods for processing optimizations and templating using metadata-driven blockchain techniques | |
US20140195663A1 (en) | Method and System for Providing Cloud-Based Common Distribution Applications | |
KR102504201B1 (ko) | 전자 장치 및 이의 알림 출력 제어 방법 | |
US20200311210A1 (en) | Method and system for learning and enabling commands via user demonstration | |
US20140365922A1 (en) | Electronic apparatus and method for providing services thereof | |
RU2677393C2 (ru) | Способ и устройство для обеспечения графического интерфейса пользователя | |
CN117474477A (zh) | 基于机器学习建议动作 | |
EP3561643B1 (en) | Method and terminal for implementing voice control | |
US8954394B2 (en) | Using mobile devices of a user as an edge cache to stream video files | |
KR102087010B1 (ko) | 무선 통신에 기반한 데이터 송수신 방법 및 장치 | |
KR101995260B1 (ko) | 앱 서비스 제공 방법 및 시스템 | |
US8805790B1 (en) | Backing up audio and video files across mobile devices of a user | |
US9935846B2 (en) | Synchronized distributed networks with frictionless application installation | |
US9880979B2 (en) | Information processing terminal, method and storage medium for switching to a privacy mode | |
US20160359932A1 (en) | Display device and method of controlling the same | |
WO2022083342A1 (zh) | 数据传输方法和电子设备 | |
JP2013137589A (ja) | サービス提供方法、サービス利用方法およびシステム | |
KR20200005352A (ko) | 서비스장치 및 그 동작 방법 | |
CN113709665A (zh) | 网络连接方法、装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |