动态并自动创建用户界面的方法与流程

文档序号:11293404阅读:322来源:国知局
动态并自动创建用户界面的方法与流程

相关申请的交叉引用

本申请要求美国临时申请号62/083,625,申请日为2014年11月24日,标题为“动态并自动创建用户界面的方法”的权益,其内容全部以引用的方式并入本文。



背景技术:

作为现代发展趋势,越来越多的电子装置能够通过网络相互通信或者交互。举例来说,物联网(“iot”)为带有唯一的嵌入性标识符的装置提供网络,使它们基于因特网的基础设施互相通信。然而传统上,物联网中用装置进行交互或者通信需要定制的用户界面或者特别为物联网中的每个装置编制或配置的软件。

创建所需要的定制用户界面或者软件可能成本很高并且需要花费大量的时间。此外,如果装置被发现、添加至iot系统或者从iot系统中移除,相应地需要更新或改变定制的用户界面或者软件,这可能会导致系统的正常运行的中断。因此,为了与网络系统中的每个装置交互或者通信,提供一种能够动态创建合适的用户界面的改进的方法或者系统,而不产生中断或者至少是只产生最小程度的中断是有益的。

附图说明

下面将通过使用附图对所公开技术的实施例进行描述和解释。

图1为根据所公开技术的实施例的通信簇的示意图。图中也示出通信簇中的多个装置。

图2为根据所公开技术的实施例使移动设备能够与多个通信簇中的不同装置交互的系统的示意图。

图3为根据所公开技术的实施例的方法的操作的流程图。

图4为根据所公开技术的实施例的方法的操作的流程图。

图5为根据所公开技术的实施例的用户界面的示意图。

这些图不必按照比例绘制。举例来说,可以扩大或者缩小图中某些要素的尺寸来帮助理解不同的实施例。类似地,为了讨论某些实施例,某些组件和/或操作可以被分为不同的块或者被组合在一个块中。此外,尽管已经通过在图中举例的方式示出具体的实施例,并且将在下面对这些实施例进行详细描述,但是本领域的技术人员应该认识到,修改、等价替换和变化都在所附的权利要求的范围之内。

具体实施方式

在本说明书中,涉及“实施例”、“一个实施例”等等都意味着所描述的具体特征、功能、结构或者特性被包含在所公开技术的至少一个实施例中。本说明书中这种短语的出现不必都涉及同一个实施例。另一方面,所涉及的实施例也不必相互排斥。

通信簇可以被定义为一组能够通过任何合适的手段互相通信或者交互的装置、传感器、机器或者其他合适的设备。举例来说,咖啡店里的通信簇可以包括多个装置,例如由商店售货员操作的个人计算机、打印机、电视机、收银机、带有温度和湿度传感器的空调、商店顾客们所使用的各种笔记本电脑、无线接入点等等。可以以其装置的接近程度(例如物理位置)为基础来确定通信簇。它的装置可以通过有线或者无线网络(例如,通过wifitm、红外线、bluetoothtm或者其它合适的通信协议)相互连接。在某些实施例中,它的装置可以通过有安全的/专用的或者不安全的/公共的网络相互连接。在某些实施例中,可以在虚拟地址(例如intemetprotocol(ip)地址)上确定通信簇。

传统地,当装置被发现、被添加到通信簇(例如办公室中的多个装置)或网络(例如公司内部网络),或者从通信簇或网络中移除时,特定于装置的(或者特定于接口的)编程或配置对生成与该装置交互的适当的用户界面是必要的。当通信簇或者网络中的装置的状态被修改(例如属性、参数或其它设置改变)时,也会发生类似的情况。

本发明提供了基于来自每个装置的当前可获得的信息动态创建用户界面以用于与通信簇或者网络中的多个装置交互,而不需要更多的编程或者配置(例如,不用关闭和重启通信簇中的每个装置来更新用户界面)的方法和系统。本发明所描述的用户界面可以被用于根据不同的用户行为,例如手势、触摸、手指移动、点击装置的移动、声音等与用户交互。

本发明中的系统使得与通信簇或者网络连接的用户终端(例如移动的或便携的设备)的用户能够轻而易举地与该通信簇或者网络的多个装置交互,而没有不必要的中断。在某些实施例中,用户终端可以是包括用于和用户交互的适当的软件(例如浏览器)或者用户界面的智能电话、平板电脑、平板手机、自助服务终端(kiosk)或者其他合适的装置。在某些实施例中,当本发明所描述的系统当处于通信簇所使用的网络范围内时,能够首先检测用户终端。接着,该系统能够建立用户终端和通信簇中一个装置之间的通信。然后,与用户终端进行通信的装置能够向通信簇中的每个装置传送公布请求,寻找特定于装置的信息来与每个装置交互。

举例来说,当带着智能电话的顾客走进一家咖啡店,咖啡店中的一个装置(例如无线接入点)首先检测到该顾客的智能电话的存在,接着建立与顾客的智能电话之间的通信(例如,通过合适的无线连接协议)。与顾客的智能电话连接的装置进一步能够向咖啡店中的每个装置传送公布请求来获得特定于装置的元数据,该元数据可以包括用户界面信息或者用于和每个装置交互的合适的参数。

在一个实例中,特定于装置的元数据可以包括顾客的智能电话如何可以控制电视机切换频道。在另一个实例中,特定于装置的元数据可以包括顾客的智能电话如何可以操作咖啡店中的打印机。作为另一个实例,特定于装置的元数据可以包括关于顾客的智能电话如何可以接收来自咖啡店中空调的温度和湿度传感器的温度和湿度的信息。

在某些实施例中,特定于装置的元数据不仅可以包括用于为特定装置创建用户界面的信息,还可以包括关于用户应该如何与用户界面交互的信息。举例来说,特定于装置的元数据可以包括关于如何创建积极的用户体验的信息(例如,用户界面和用户交互的组合)。

作为对公布请求的回应,之后通信簇中的每个装置都会向与用户终端通信的装置返回包括相应的特定于装置的元数据的公布应答。与用户终端通信的装置进一步将返回的公布应答整合,形成整合信息。最后,与用户终端通信的装置将整合信息传送给用户终端。本发明中的系统能够基于整合信息在用户终端生成用户界面。整合信息可以包括关于用户终端如何可以与通信簇中的每个装置交互的信息(例如,特定于装置的元数据)。在某些实施例中,整合信息也可以包括特定于装置的并且可以被用户终端执行的控制指令。举例来说,整合信息可以包括与特定装置相联系的可执行控制指令(例如,包括特定于装置的标识或者与装置相关的标识符)。可执行控制指令使用户终端的用户能够通过单个用户行为与装置交互。举例来说,系统可以在用户界面内呈现多个(虚拟的)按钮或者其他交互机制(例如,图5及对应的描述)。用户界面提供了对通信簇中每个装置的简单和方便的接入,而无需特定于装置的编程和配置。

在上面所描述的同一个咖啡店的实例中,作为对无线接入点所传送的公布请求的回应,咖啡店中的每个装置(例如,在某些实施例中,可以包括无线接入点本身)向无线接入点返回公布应答,提供特定于装置的用户界面信息或者用于在它们之间进行交互的其他合适的参数。之后无线接入点基于返回的公布应答生成整合信息,并且将整合信息传送至顾客的智能电话。用户的智能电话能够基于整合信息建立适当的用户界面。所生成的用户界面使顾客能够通过他/她的智能电话与咖啡店中的每个装置进行交互(例如,打开或关闭电视机,为空调调节目标室温,通过打印机打印文件等等),而无需特定于装置的编程和配置。

在某些实施例中,本发明中的系统能够通过本地中继或者云中继建立用户终端与远程通信簇中的装置之间的通信。本地中继或者云中继被用于将信息从不直接与用户终端连接或者通信的远程通信簇中继给用户终端。在某些实施例中,本地中继或者云中继可以被用于首先将信息从远程通信簇中继至(例如,在用户终端附近的)本地通信簇中的装置,然后该装置可以进一步将所中继的信息传送至与该装置相连的用户终端。

举例来说,系统能够通过中继(例如本地中继或者云中继)在顾客的平板电脑与位于几个街区以外的停车场内的装置(例如,停车付款机或者安全照相机)之间建立通信。在这个实例中,系统使顾客能够远程接入付款机(例如,在前往停车场的路上支付停车券),而且该顾客能够接入停车场内的安全照相机,以便不使用单独的应用或者打开单独的浏览器页面就可以检查他/她停在其中的车辆。

在某些实施例中,通信簇中的装置包括连续耦合于该通信簇中其他装置的装置(例如,通过有线的或者无线的连接),以及松耦合于其他装置的装置。松耦合的装置包括断断续续地与其他装置相连的装置以及以无规律的时间间隔与其他装置相连的装置。松耦合的装置的实例包括可移动目标(例如,由医院中的医生携带的寻呼机/智能电话)、自发装置(例如,住宅里的自动真空吸尘器)、车辆(例如穿过安全门或者边界的车辆)。

在某些实施例中,系统可以包括“容错”组件,以基于各种因素确定哪个装置应该被包含在通信簇中。例如,该容错组件能够确定将在某个区域中停留超过某个时段(例如,每天5小时)的某些装置(例如,办公室中的智能电话)包含在通信簇中(例如,将这些智能电话归类为办公室中的全职雇员簇)。

本发明的另一方面是该系统能够创建、管理和递送关于所有被发现的和被连接的装置(包括断断续续地被连接的装置)的用户体验的信息至与该系统中的一个装置相连的用户终端。用户能够通过用户终端交互、监控或者控制该系统中每个装置的事实使该用户终端能够在初始的控制机制失效的情况下成为系统的备份或者冗余控制机制。举例来说,咖啡店中空调上的控制面板可能失效,那么用户就无法控制空调。使用这个公开的系统,用户就能够通过作为备份控制机制的他/她的智能电话来控制空调。

图1为根据所公开技术的实施例的通信簇100的示意图。在某些实施例中,通信簇100可以包括一组极为接近(例如在商店、办公室或者建筑物里等等)的装置。在某些实施例中,通信簇100可以包括一组通过网络(例如,公司内部网络)连接的装置。如图1所示,通信簇100包括通过网络101通信的多个装置。装置的实例包括台式计算机、服务器、机器,设备,一套装备,诸如智能电话、平板电脑、平板手机或者笔记本电脑的便携式装置,或者其它可以通过网络耦合的合适的装置。这多个装置可以包括持续耦合的装置a-n以及松耦合的装置x。在其他实施例中,通信簇100可以有不同数量的持续耦合的装置和松耦合的装置。持续耦合的装置a-n通过网络101相互耦合或者相互连接。松耦合的装置x断断续续地连接于通信簇100中的其他装置或者以非规律的时间间隔与通信簇100中的其他装置连接。

参照图1,通信簇100也可以包括分别耦合于装置a-n的传感器a-n。在某些实施例中,传感器a-n可以包括温度传感器、湿度传感器、压力传感器、运动传感器、音频传感器、光传感器或者其他合适的传感器。在某些实施例中,一个装置可以耦合于一个以上的传感器。举例来说,装置可以是耦合于温度、湿度和运动传感器的空调。

如图1所示,通信簇100可以包括耦合于装置b的外围装置103。在其他实施例中,通信簇100可以有耦合于其中的合适装置的两个以上的外围装置103。在某些实施例中,外围装置103可以是用于存储信息或者与其所耦合的通信簇100中的装置交换(例如输入或者输出)信息的组件或者单元。外围装置103的实例可以包括点击装置、键盘、监视器、打印机、硬盘驱动器、闪存驱动器等等。在某些实施例中,外围装置103可以耦合于通信簇100中的松耦合的装置,例如装置x。

在图示的实施例中,装置a可以包括处理器105、存储器107、检测组件109、公布组件111、整合组件113、通信组件115以及存储组件117。在某些实施例中,通信簇100中的装置b-n和x可以具有与装置a类似的组件和配置。处理器105被配置为控制装置a中的存储器107和组件(例如109、111、113、115和117)。存储器107耦合于处理器105,并且被配置为存储指令以用于控制装置a中的组件。通信组件115被配置为通过网络101与其他装置通信。

检测组件109被配置为检测用户终端或者移动设备(图1中未示出)进入网络101的范围内的事件。举例来说,网络101可以是公司内的无线网络,而装置a可以是公司的接待区内的台式计算机。在这个实例中,检测组件109可以检测公司的访问者是否携带了可以与公司的网络连接的移动设备(例如,通过从移动设备接收合适的信号或者请求)。一旦检测到适当的用户终端或者移动设备,装置a继续建立与所检测到的移动设备的通信。在某些实施例中,可以通过直接的有线或无线连接(例如通过bluetoothtm或者红外线通信)在所检测到的移动设备和装置a(或者通信簇100)之间建立通信。建立通信之后,装置a可以提供合适的信息(例如特定于装置的用户界面信息;下面将详细讨论),使所检测到的移动设备能够与通信簇100中的装置a-n以及x交互。

装置a的公布组件111被配置为通过通信组件115向通信簇100中的所有装置(在某些实施例中,包括装置a)发送或传送公布请求。在某些实施例中,公布请求可以包括请求通信簇100中装置的更新列表(例如,装置是否正确运行,或者是否有新装置加入通信簇100或从通信簇100中移除)。然后装置a通过通信组件115从每个接收公布请求的装置处接收公布应答。

收到公布应答之后,整合组件113被配置为形成整合信息。在某些实施例中,整合信息可以包括关于用户终端或者移动设备如何可以与通信簇100中的装置交互的信息(例如,用户终端或者移动设备如何可以与传感器b和/或耦合于装置b的外围装置103交互)。在某些实施例中,整合信息可以包括特定于装置的用户界面信息(例如,用户终端或者移动设备应该使用什么样的用户界面与传感器b和/或耦合于装置b的外围装置103交互)。

在某些实施例中,整合信息可以包括与对应于特定装置的特定装置标识相关联的控制指令。当控制指令在用户终端或移动设备上实施或执行时,用户终端或者移动设备的用户可以通过控制指令直接控制装置或者与装置交互,无需更多的编程或配置(例如,不用为了更新用户界面而关闭或者重启通信簇100中的每个装置,或者用户终端或移动设备)。在某些实施例中,整合信息可以被用来生成被呈现在或显示在与装置a通信的用户终端或者移动设备上的用户界面,使用户能够以方便的方式与每个装置(以及与其耦合的传感器/外围装置)交互。

存储组件117可以被配置为存储装置a的信息,例如整合信息。举例来说,当整合组件113确定整合信息的当前版本是最新的(例如,没有新加入或者最近移除的装置)时,它能够向用户终端传送所存储的整合信息,而不生成新的整合信息。在某些实施例中,存储组件117可以被配置为存储包括最新装置信息的装置列表。在某些实施例中,装置列表可以被定期维护或者更新。

图2为根据所公开技术的实施例,使移动设备201能够与多个通信簇中的不同装置交互的系统200的示意图。参照图2,系统200包括通信簇a、b和云中继203。通信簇a在物理上接近移动设备201,而通信簇b远离移动设备201。在某些实施例中,云中继203可以被配置为存储(和/或中继)从通信簇a和b接收的信息(例如,整合信息、装置列表、装置的物理/虚拟位置等等)。

如图2所示,通信簇a可以包括直接相互耦合(例如,不通过网络)的装置a1-a4。通信簇a可以包括分别耦合于装置a2、a3和a4的传感器a21、a31和a41。通信簇a还包括耦合于装置a3的外围装置a32。可以在结合上面图1的描述中找到装置、传感器和外围装置的实例。在其他实施例中,通信簇a可以有不同数量的装置、传感器和外围装置。

在所示出的实施例中,移动设备201可以通过装置a1与装置a1-a4、传感器a21、a31、a41以及外围装置a32通信。对通信簇a1而言,装置a1的地位类似于参考上面图1所讨论的装置a对于通信簇100的地位。举例来说,当移动设备201在装置a1的检测范围之内时,装置a1可以检测到移动设备201的存在。在某些实施例中,移动装置201可以通知装置a1其存在(例如,简单地通过有线或无线连接连接至装置a1的方式)。然后装置a1可以建立与移动设备201的通信。然后装置a1收集(例如,通过发送公布请求和接收公布应答)并且整合关于移动装置21如何可以与通信簇a中的装置a1-a4(以及传感器a21、a31、a41和外围装置a32)进行交互的信息。在某些实施例中,整合信息可以包括特定于装置的用户界面信息。在某些实施例中,整合信息可以包括对应于特定装置的控制指令。当在移动设备201上实施或者执行控制指令时,用户可以通过控制指令直接控制装置或者与装置交互,无需更多的编程或者配置。

在某些实施例中,移动设备201可以通过云中继203与装置a1通信。在某些实施例中,云中继203可以是连接于网络(例如因特网)的服务器。云中继203可以进一步通过网络与通信簇b通信。系统200使移动设备201能够与通信簇b中的任何装置、传感器或者外围装置通信,其方式和移动终端201与通信簇a中的装置a1-a4、传感器a21、a31、a41以及外围装置a32交互的方式相类似。在某些实施例中,通过云中继203,移动设备201可以进一步与其他通信簇(图2中未示出)中的装置交互。

作为实例,移动设备201可以是由公司y的雇员携带的笔记本电脑,通信簇a可以是位于美国的公司y的办公室,而通信簇b可以是位于亚洲的生产场所。当该雇员走进办公室时,笔记本电脑就会被检测到并且与办公室中的个人计算机连接。个人计算机将整合信息发送至笔记本电脑,并且在笔记本电脑上生成完整的用户界面。这个安排使该雇员能够接入办公室和生产场所中的不同装置(例如,通过云中继),而无需更多的编程和配置。

在某些实施例中,系统200可以包括安全机制,以确保移动设备201只能根据特定的安全许可等级访问信息。举例来说,雇员可能无权接入存储机密信息的数据库,但是可能有权接入打印机。作为另一个实例,咖啡店的顾客可能无权接入收银机,但是可能有权接入无线接入点。

图3为根据所公开技术的实施例的方法300的操作的流程图。方法300可以由相关的系统(例如前面所讨论的系统200)实施。在框301中,系统检测到用户终端的存在,以了解它是否在通信簇所利用的网络范围之内。响应于该检测,方法300继续至框303,系统使用户终端和通信簇中的第一装置之间能够进行通信。在某些实施例中,可以基于物理位置确定所述第一装置(例如,最靠近用户终端的一个)。在其他实施例中,第一装置可以由系统操作员预先选择(例如,在接待区内的一个)。然后方法300运行至判决框305,确定是否有需要更新现有装置列表的装置的改变。如果有,则系统在框307更新装置列表。如果没有,则方法300运行至框309。

在框309,系统基于(更新的或者初始的)装置列表将公布请求从第一装置传送至通信簇中的每个装置。在框311,通信簇中的每个装置向第一装置传送公布应答。公布应答包括关于如何与该装置(以及与其耦合的传感器/外围装置)交互的信息。在某些实施例中,公布应答可以包括控制指令,使用户通过简单地实施控制指令就能够直接与每个装置(或者与其耦合的传感器/外围装置)交互。

在框313,随后第一装置基于所接收的公布应答生成整合信息。在框315,系统将整合信息从第一装置传送至用户终端。在框317,系统可以基于整合信息在用户终端生成用户界面。方法300运行至判决框319,以确定用户终端的用户是否已经请求(例如,通过按下用户界面上的虚拟按钮)在通信簇中的任何装置上执行动作(例如,打开连接至安全装置的安全照相机)。如果不是,则方法300返回。如果是,则系统实施相应的控制指令来执行该动作。该动作无需更多的编程和配置过程就可以执行。

图4为根据所公开技术的实施例的方法400的流程图。方法400可以由相关联的系统(例如前面所讨论的系统200)实施。在框401,系统检测到移动设备与云中继连接的事件。在框403,然后系统在移动设备和与云中继相连的多个装置中的一个之间建立通信(例如,通过一个或多个网络,直接地或者间接地)。在框405,系统将公布请求从通过云中继与移动设备相连的装置传送至与云中继相连的其余装置。

在框407,然后系统将公布应答从每个接收到公布请求的装置传送至通过云中继与移动设备相连的装置。在框409,通过云中继与移动设备相连的装置基于所接收的公布应答生成整合信息。整合信息可以包括针对每个接收公布请求的装置的相应的控制指令。在框411,通过云中继与移动设备相连的装置通过云中继将整合信息传送至移动设备。然后系统基于整合信息在移动设备上生成用户界面,使移动设备的用户能够和与云中继相连(例如,直接或者间接)的任何装置交互。然后,方法400返回。

图5为根据所公开技术的实施例的用户界面503的示意图。如图5所示,移动设备500可以包括显示器501,用户界面503可以在显示器501上形成。用户界面503可以包括指示通信簇a与移动设备500相连的第一区域505,以及指示通信簇b与移动设备500相连的第二区域507。在第一区域505和第二区域507的右手边,显示了第一虚拟按钮509、第二虚拟按钮511、第三虚拟按钮513、第四虚拟按钮515、第五虚拟按钮517和第六虚拟按钮519。

在所示出的实施例中,第一虚拟按钮509表示移动设备500的用户能够在通信簇a的装置a1上执行的动作。举例来说,用户可以点击第一虚拟按钮509来执行第一虚拟按钮509上所显示的动作。第二虚拟按钮511表示移动设备500的用户能够在通信簇a的装置a2上执行的控制指令。举例来说,用户可以通过简单地点击第二虚拟按钮511打开或者关闭装置a2。第三虚拟按钮513表示移动设备500的用户能够在通信簇a的装置a3上完成的状态检查请求。举例来说,用户可以通过简单地点击第三虚拟按钮513检查安全门是否正常运行。

在所示的实施例中,第四虚拟按钮515表示移动设备500的用户能够在通信簇b的装置b1(例如,个人计算机)上执行的数据传输请求。举例来说,用户可以通过点击第四虚拟按钮515请求下载装置b1所记录的文件。第五虚拟按钮517表示移动设备500的用户能够在耦合于通信簇b的装置b1的外围装置b1(例如打印机)上执行的指令。第六虚拟按钮519表示移动设备500的用户能够在耦合于通信簇b的装置b1的传感器b2(例如,测量cpu温度的温度传感器)上执行的检测请求。

在某些实施例中,用户界面503可以包括一个或多个用于用户交互的滑动块、滚动条或者其他合适的组件。在某些实施例中,用户可以通过手掌或者手指运动与用户界面503交互。在某些实施例中,用户界面503中可以显示更多的装置信息。举例来说,与第一虚拟按钮相邻的指示(图5中未示出)可以显示装置a1的物理位置(例如,建筑物的第二层)。

尽管已经结合具体的典型实施例对本技术进行描述,但是应该认识到本技术并不限于所描述的实施例,对其所做的修改和变化都在所附的权利要求的精神和范围之内。相应地,说明书和附图都应该被看作解释性的而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1