符合应用程序数据共享和决策服务平台模式的应用程序部署的制作方法

文档序号:17583101发布日期:2019-05-03 21:05阅读:204来源:国知局
符合应用程序数据共享和决策服务平台模式的应用程序部署的制作方法

物联网(iot)通常是指使用嵌入到物理对象中的传感器、致动器和通信技术,使得能够通过网络(例如因特网)跟踪或控制对象。在我们日常生活的几乎所有领域中,设备越来越变为互联网连接的。从灯开关到音乐播放器,从气象传感器到牛监控器,当iot设备提供丰富的信息或通过互联网控制iot设备时,可以获得大量数据。

同时,应用程序(或“应用”)存储现象已经导致独立软件供应商(isv)创建可以处理各种类型数据和用户输入的应用程序,范围涵盖交通拥堵应用程序、开门应用程序、消息传递应用程序、音乐流媒体和播放列表应用程序等。

遗憾的是,这些应用程序通常彼此断开连接或隔离-即使在相同的应用程序平台或设备上操作时也是如此。例如,智能手机设备可能包含各种下载的应用,这些应用很少(如果有的话)具有相互沟通的能力。一些供应商开发了被设计为支持非用户启动的与其他应用程序的交互的应用程序。但是,这些应用程序仅限于什么触发交互以及应用程序响应触发而能够采取什么动作。

总的来说,本文中一些现有或相关系统的示例及其相关限制旨在是说明性的而非排他性的。在阅读以下内容后,现存或现有系统的其他限制对于本领域技术人员而言将变得显而易见。



技术实现要素:

本文所论述的示例涉及用于在执行于一个或多个应用平台的多个隔离应用程序之间共享应用数据的决策服务的部署。在一种实现方式中,描述了一种部署平台模式的方法,该平台模式用于促进在一个或多个应用平台上执行的隔离应用之间共享应用数据。该方法包括接收向应用程序部署系统提交第三方应用程序的请求,响应于接收请求而识别与平台模式相关联的验证清单,以及通过执行一组预定义的验证检查来自动核验第三方应用程序是否符合平台模式。该请求标识与第三方应用程序相关联的平台模式和平台能力信息。验证清单包括一组预定义的验证检查。

提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的技术公开中进一步描述。可以理解,该发明内容不旨在确定所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

附图说明

为了描述可以获得上述和其他优点和特征的方式,阐述了更具体的描述,并且将通过参考在附图中示出的其具体示例来呈现。应理解,这些附图仅描绘了典型示例,因此不应认为是对其范围的限制,将通过使用附图以附加的特征和细节来描述和解释实现方式。

图1描绘了示出根据一些实施例的用于部署平台模式以促进在一个或多个应用平台(或计算系统)上执行的隔离应用程序之间共享应用数据的示例操作体系结构100的框图。

图2示出了示出应用标识符和相关联的应用能力的示例表。

图3示出了示出与各种注册的应用程序相关联的平台标识符的示例表。

图4示出了示例序列图。

图5示出了示例序列图。

图6描绘了示出根据一些实施例的用于部署平台模式以促进在一个或多个应用程序平台(或计算系统)上执行的隔离应用程序之间共享应用程序数据的应用程序部署系统的示例操作600的流程图。

图7描绘了示出根据一些实施例的用于提供遥测服务的应用部署系统的示例操作700的流程图。

图8a和8b描绘了示出根据一些实施例的用于在一个或多个应用平台(或计算系统)上执行并聚合遥测数据的多个隔离应用程序之间共享应用数据的示例操作体系结构的框图。

图9是示出适合于实现本文公开的基于范围的证书部署技术的计算系统的框图,包括图中所示和下面在技术披露中讨论的任何应用程序、体系结构、元素、过程和操作场景和序列。

具体实施方式

以下详细讨论实施例。虽然讨论了具体实现方式,但应该理解,这仅出于说明目的而完成。相关领域的技术人员将认识到,可以使用其他组件和配置而不脱离本公开的主题的精神和范围。实现方式可以是机器实现的方法、计算设备或计算机可读介质。

这里描述的技术涉及用于促进在一个或多个应用平台上执行的多个隔离应用之间的应用数据的共享的平台模式的部署。服务提供商向部署系统注册平台模式。在其他功能中,部署系统被配置为自动验证第三方应用程序、在第三方应用程序符合平台模式协议时发布和分发第三方应用程序。

验证可以包括识别与平台模式相关联的验证清单,该验证清单包括一组预定义的验证检查。在一些实施例中,预定义的验证检查确保平台能力(例如,一个或多个注册的输入或输出)符合预期的可扩展标记语言(xml)方案。举例来说,部署系统可以是公共应用商店或基于组织或企业的部署系统。一旦经过验证,应用程序部署系统就会发布经过验证的应用程序,使应用程序可通过应用程序平台下载、安装和注册。一旦向数据共享平台注册,应用程序就可以与在数据共享平台中注册的多个应用程序中的其他应用程序共享应用程序数据。

在一些实施例中,应用程序部署系统或与平台模式相关联的数据共享平台聚合与一个或多个第三方应用程序相关联的遥测数据,并经由反馈信道将聚合信息提供给对应的第三方开发者。另外,在一些实施例中,应用程序部署系统或与平台模式相关联的数据共享平台可以处理遥测数据以生成推荐,诸如例如关于属于相同平台模式的应用程序组或通常彼此结合使用的协同应用的推荐。

这里讨论的至少一个技术效果是针对平台模式自动验证第三方应用程序以促进在一个或多个应用程序平台上执行的多个否则隔离的应用程序之间共享应用程序数据的能力。

图1描绘了示出根据一些实施例的用于部署平台模式以促进在一个或多个应用平台(或计算系统)上执行的隔离应用程序之间共享应用数据的示例操作体系结构100的框图。示例操作体系结构100包括应用程序(“应用”)部署系统120、授权服务125、第三方应用开发者105、应用开发服务器110、执行(验证的)应用程序153的计算系统151、数据共享平台160、应用服务器和数据储存库164。为方便起见,示出了执行单个应用程序153的单个计算系统151。然而,可以理解,操作体系结构可以包括任何数量的计算系统,每个计算系统执行任意数量的(已验证的)应用程序。授权服务125使应用(例如,独立软件供应商或第一方供应商)的许可验证能力能够对应用程序进行认证和版本化。例如,授权服务可以通过清单向应用添加货币化功能。

如图1的示例中所示,应用程序部署系统120包括由服务提供商提供的应用下载门户124和数据平台模式122。应用下载门户124可以是例如托管经验证(或经批准)的应用程序的店面服务。在一些实施例中,可以使用搜索/浏览web服务来查询或搜索托管的应用程序。

数据平台模式122可以包括标准开发工具包(sdk)。sdk可以提供一个或多个接口,其允许应用程序开发者105生成和嵌入或以其他方式开发符合平台模式以促进在其他应用程序之间共享应用程序数据的应用程序。数据平台模式122还可以识别代表接口的应用程序接口(api),通过该接口,在一个或多个应用平台(或计算系统)上执行的第三方应用可以与数据共享平台160通信-或者在某些情况下直接相互通信。在其他实现方式中,api可以是在生产者应用程序或消费者应用程序的上下文中运行的附加应用程序、应用程序的集成组件或操作系统的组件或计算系统上的一些其他应用程序。

在一些实施例中,可以存在数据共享平台(例如数据共享平台160)的多个版本(例如,v2.0,v2.1等)。模式定义数据共享平台的每个版本中可用的功能,并且应用程序可以例如通过清单自我声明,在操作期间利用哪些能力。例如,如果应用程序想要使用在特定版本的数据共享平台上不可用的功能,则可以阻止应用程序在该版本的平台上安装。以这种方式,可以阻止不兼容的应用程序在特定平台或平台版本上安装。

数据共享平台160表示促进在已注册的否则隔离的应用程序之间共享应用程序数据馈送的一个服务或集合或多个服务。在其他功能中,数据共享平台160包括决策服务162,其包括能够促进隔离应用程序之间的应用程序数据共享的预测分析引擎(未示出)。例如,如图8a和8b的示例中更详细地示出的那样,数据共享平台160处理生产者应用程序数据馈送,混合生产者应用程序馈送,并自动配置或重新配置消费者应用程序的事件配置信息。

应用程序部署系统120可以包括服务器计算机、刀片服务器、机架服务器,以及适合于部署平台模式以促进在如本文所述的一个或多个应用平台(或计算系统)上执行的隔离应用程序之间共享应用程序数据的任何其他类型的计算系统(或其集合)。这样的系统可以在支持增强的组协作的上下文中使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源,其中计算系统901是代表性的。

数据共享平台160可以包括服务器计算机、刀片服务器、机架服务器,以及适合于执行或促进在本文所述的否则隔离的应用程序之间共享应用程序数据馈送的任何其他类型的计算系统(或其集合)。这样的系统可以在支持增强的组协作的上下文中使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源,其中计算系统901是代表性的。

计算系统151代表适用于采用应用程序153的任何计算设备。示例包括台式计算机和膝上型计算机、平板电脑、智能电话、智能电视、可穿戴设备(手表、眼镜等)以及任何其他类型的iot设备,其中计算系统901也是代表性的。

在操作中,服务提供商首先将数据平台模式和验证清单上载(步骤1)到应用程序部署系统120。验证清单可以包括一组预定义的验证检查。例如,应用程序部署系统120使用该组预定义验证检查来确认一个或多个注册的输入或输出符合预期的可扩展标记语言(xml)方案。

如本文所讨论的,应用程序部署系统120可以是公共应用商店、私有应用商店,或包括其组合或变体的基于组织或企业的应用商店。应用程序部署系统120接收并发布平台模式122(步骤2)。例如,平台模式122可以发布到应用部署系统120的公共或开发者门户。在一些实施例中,一旦发布了平台模式122,就可以由第三方应用程序开发者105搜索或浏览它。

接下来,第三方应用程序开发者105从应用程序部署系统120下载或以其他方式获得模式(步骤3)。第三方应用程序开发者105开发包括平台模式122的第三方应用程序(步骤4)。如本文所讨论的,平台模式122可以包括sdk,其提供一个或多个接口,允许第三方应用程序开发者105生成和嵌入或以其他方式开发符合平台模式的应用程序,以促进在一个或多个应用程序平台上执行的隔离应用程序之间共享应用程序数据。在一些实施例中,第三方开发者105在一个或多个应用开发服务器110上开发第三方应用程序或向其提供应用程序(步骤5)。

一旦开发了第三方应用程序,第三方开发者105就将应用程序提交以发布给应用部署系统120(步骤6)。如本文所讨论的,提交第三方应用的请求可以包括唯一地标识应用符合的平台模式的模式标识符。另外,该请求可以识别与第三方应用程序相关联的平台能力信息。

一旦提交了第三方应用程序,应用程序部署系统120就可以自动验证该应用程序(步骤7)。验证过程可以包括基于模式标识符识别与平台模式相关联的验证清单。验证清单可以包括一组预定义的验证检查。如本文所讨论的,应用程序部署系统120可以使用预定义的验证检查来确认一个或多个注册的输入或输出符合预期的方案,例如,可扩展标记语言(xml)方案。

一旦验证第三方应用程序符合平台模式,应用程序部署系统120就生成与第三方应用程序相关联的唯一应用程序标识符,并将与第三方应用程序相关联的应用程序标识符和应用程序能力信息提供给应用程序数据共享和决策服务160(步骤8)。可替代地,可以将应用程序标识符提交给商店,并且应用程序部署系统120响应地确保提交的标识符是唯一的。在一些实施例中,应用程序标识符可以是嵌入在应用程序的存储器内的全局唯一标识符(guid)。在其他实施例中,应用数据共享和决策服务160生成应用标识符。然后,应用程序数据共享和决策服务160将应用程序标识符与应用程序能力信息相关联(步骤9)。

图2示出了示出应用标识符和相关联的应用能力的示例表。应用程序能力可包括输入数据馈送和输出数据馈送。如图2的示例所示,每个应用程序(由应用程序标识符指示)与一种或多种类型的输入数据馈送和/或输出数据馈送相关联。数据馈送的类型可以是数据类型、数据格式等,包括其组合或变体。

再次参考图1,一旦验证第三方应用程序符合平台模式,应用程序部署系统120就例如在公共下载门户124上发布经验证的应用程序(步骤10)。响应于从计算系统151接收下载经验证的第三方应用程序的请求,将经验证的第三方应用程序153提供给计算系统151(步骤11)。在提供经验证的应用之前,应用部署系统120可以利用授权服务125执行应用检查(步骤10a)。授权服务125可以是例如许可商店,其维护关于已经购买了哪些应用(或应用程序版本、特征等)的信息。在一些实施例中,仅在购买了应用程序后才允许用户下载应用程序153。可替代地或另外地,可以由计算系统151提供或下载应用程序,但是执行运行时检查(步骤11b)以确定是否已经购买了许可证,以及针对哪个版本或包括哪个功能。例如,运行时检查可以验证应该提供的功能级别,例如,高级、标准付费、试用、过期试用、未经许可等。

一旦安装,应用程序153就在计算系统151上执行并向数据共享平台160注册(步骤12)。在其他信息中,注册可以包括应用标识符和唯一平台标识符。唯一平台标识符可以唯一地标识数据共享平台的用户或帐户。例如,在一些实施例中,唯一平台标识符可以是登录凭证或计算系统151用来访问数据共享平台160的其他凭证。

数据共享平台160接收注册请求并将应用程序与平台标识符相关联。如本文所讨论的,数据或关联等可以由数据共享平台160存储在数据储存库164中。应用程序153可以是代表任何被设计为向其他应用程序提供数据的应用程序的生产者应用程序或代表任何被设计成从其它应用程序接收数据的应用程序的消费者应用程序,或生产者应用程序和消费者应用程序两者。例如,生产者应用程序可以向数据共享平台160提供应用程序数据馈送,以便与消费者应用程序一起处理和/或共享。应用程序153可以是本机安装和执行的应用程序、基于浏览器的应用程序、移动应用程序、流式传输或流式应用程序或任何其他类型或应用、变体或其组合。应用程序153还可以是由捆绑在一起的多个应用程序组成的应用程序套件的一部分。

在一些实施例中,应用程序(应用程序服务器客户端)可以包括在pc、移动电话设备、web服务器或甚至其他应用程序服务器上运行的gui(图形用户界面)。在应用服务器150与其应用服务器客户端之间来回传递的信息不限于简单的特定显示标记。相反,信息是可以采取数据和方法调用形式的程序逻辑,应用程序服务器客户端可以以任何合适的方式使用公开的商业逻辑。

一旦生产者和消费者应用程序已向数据共享平台160注册,就可以在一个或多个应用程序平台(或计算系统)上执行的多个隔离应用程序之间共享应用程序数据。参考图8a-8b更详细地示出和讨论了示例。

图3示出了示出与各种注册的应用程序相关联的平台标识符的示例表。如本文所讨论的,唯一平台标识符标识数据共享平台160的用户或帐户。如图3的示例所示,平台id“abcd”与注册的应用程序“1234”、“5678”和“9101”相关联。

为了进一步说明示例性操作体系结构100的操作,提供了图4和5。图4和5分别示出了序列图400和500。根据一些实施例,示例序列图400和500描绘了图1的应用程序开发服务器110和应用程序部署系统120用于针对平台模式协议自动验证第三方应用程序的示例操作。

首先参考图4的示例,最初,应用程序开发服务器向应用程序部署系统120发送提交应用程序的请求。该请求可以由一个或多个应用程序开发者(未示出)发起并包括应用程序能力信息。如本文所讨论的,应用能力信息可以包括输入能力和/或输出能力,其分别指示应用可以使用(或接收)的应用数据馈送的类型以及应用可以产生(或提供)的应用数据馈送的类型。

响应于接收请求,应用程序部署系统120识别与平台模式相关联的验证清单。如本文所讨论的,验证清单包括一组预定义的验证检查。在一些实施例中,可以基于模式标识符来识别验证清单,模式标识符与提交第三方应用程序的请求包括在一起。模式标识符唯一标识应用程序符合的平台模式。

然后,应用程序部署系统120发送验证触发器,通知应用程序开发服务器110验证过程将开始。响应于验证触发器,应用程序开发服务器安装正在验证的第三方应用程序的临时实例。然后开始预定义的验证检查。在一些实施例中,每个验证检查涉及生成或接收数据并确定数据是否符合预期数据。如果是,则验证检查通过。如果不是,则验证检查失败。生成验证数据并将其提供给应用程序部署系统120。应用程序部署系统120可以确定每个验证检查是通过还是失败。例如,应用程序部署系统120可以验证输入数据馈送和输出数据馈送(或动作)是否符合由平台模式确定的预期xml表示。在一些实施例中,验证检查可以包括生成特定api调用等。验证清单可包括任意数量的验证检查。

一旦检查完成,应用程序部署系统120就进行验证确定。例如,在一些实施例中,如果每个验证检查通过,则验证可以通过。最后,应用程序部署系统120通知应用程序开发服务器110第三方应用程序通过或失败。如果验证通过,则部署过程继续,如参考图1所讨论的。但是,如果验证失败,则可以通知第三方开发人员并相应地修改应用程序。

示例序列图500类似于示例序列图400,不同之处在于,在序列图500中,应用程序部署系统120执行大量验证任务,包括实例化应用程序的临时实例并为每个验证检查生成数据。验证任务的执行的其他可能的组合或变化也是可能的。

图6描绘了示出根据一些实施例的用于部署平台模式以促进在一个或多个应用程序平台(或计算系统)上执行的隔离应用程序之间共享应用程序数据的应用程序部署系统的示例操作600的流程图。示例性操作600可以在各种实施例中由图1的应用程序部署系统120或图1的应用程序部署系统120的一个或多个处理器、模块、引擎、组件或工具来执行。

开始,在601,应用程序部署系统接收将第三方应用程序提交给应用程序部署系统的请求。如本文所讨论的,该请求可以标识与第三方应用相关联的平台模式和平台能力信息。另外,该请求可以包括验证清单。平台能力信息可包括一个或多个注册的输入数据馈送或输出数据馈送。

在603处,应用程序部署系统响应于接收到请求而识别与平台模式相关联的验证清单。验证清单可以包括一组预定义的验证检查,如果成功执行,则验证第三方应用程序。在一些实施例中,基于与提交第三方应用程序的请求一起包括的模式标识符来识别验证清单。

在605处,应用程序部署系统通过执行该组验证检查来自动验证第三方应用程序是否符合平台模式。如本文所讨论的,该组预定义验证检查可以确认一个或多个注册的输入数据馈送或输出数据馈送是否符合预期的可扩展标记语言(xml)方案。最后,在607,一旦验证第三方应用程序符合平台模式,应用程序部署系统就将第三方应用程序发布到应用程序部署系统的下载门户。

图7描绘了示出根据一些实施例的用于提供遥测服务的应用部署系统的示例操作700的流程图。示例性操作700可以在各种实施例中由图1的应用程序部署系统120,或图1的应用程序部署系统120的一个或多个处理器、模块、引擎、组件或工具来执行。可选地或另外地,可以通过数据共享平台(例如,图1的数据共享平台160)全部或部分地执行部分或全部操作。

首先,在701,应用程序部署系统接收与在一个或多个应用程序平台上执行的一个或多个应用程序相关联的遥测数据。在703处,应用程序部署系统聚合遥测数据。在705处,应用程序部署系统向第三方应用程序开发者提供指示聚合的遥测数据的反馈环。例如,可以收集和聚合来自应用程序的数据,以便提供回第三方开发者以改进和/或以其他方式优化应用程序。同样地,在707处,应用程序部署系统可以处理聚合的遥测数据以生成应用程序分组建议。例如,如果系统确定某些应用程序通常一起使用,则可以生成推荐以使用与下载和/或以其他方式注册有特定平台标识符的应用程序相关的一个或多个应用程序。

图8a和8b描绘了示出根据一些实施例的用于在一个或多个应用平台(或计算系统)上执行并聚合遥测数据的多个隔离应用之间共享应用数据的示例操作体系结构800a和800b的框图。示例操作体系结构800a-800c包括在每个计算系统上执行的单个隔离应用程序(例如,生产者、消费者或配置应用程序)。然而,可以理解,可以在每个计算系统上执行任何数量的隔离应用程序。

示例操作体系结构800a-800c包括计算系统811、821、831、841、851和861,数据共享平台860和应用程序(“应用”)服务器820、830、840、850和860。数据共享平台860包括数据储存库864。如图1的示例所示,计算系统821、831和841分别包括生产者应用程序823、833和843。计算系统851和861分别包括消费者应用程序853和863。虽然未示出,但是生产者应用程序823、833和843以及消费者应用程序853和863每个都可以包括代表接口的应用程序接口(api),计算系统可以通过该接口与数据共享平台860通信-或者在某些情况下直接彼此通信。在其他实现方式中,api可以是在生产者应用程序或消费者应用程序的上下文中运行的附加应用程序、应用程序的集成组件或操作系统的组件或计算系统上的一些其他应用程序。

数据共享平台860可以是图1的数据共享平台160,但是替代配置是可能的。数据共享平台860表示促进在已注册的其他隔离应用程序之间共享应用程序数据馈送的一个服务或集合或多个服务。在其他功能中,数据共享平台860包括决策服务862,其包括预测分析引擎(未示出),其能够处理生产者数据馈送861,混合馈送,以及自动配置或重新配置消费者应用程序的事件配置信息。

数据共享平台860可以包括服务器计算机、刀片服务器、机架服务器以及适合于执行或促进在本文所述的其他隔离应用程序之间共享应用程序数据馈送的任何其他类型的计算系统(或其集合)。这样的系统可以在支持增强的组协作的上下文中使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源,其中计算系统901是代表性的。

计算系统811、821、831、841、851或861代表适用于采用应用程序813、823、833、843、853和863的任何计算设备。示例包括台式计算机和膝上型计算机、平板电脑、智能电话、智能电视、可穿戴设备(手表、眼镜等)以及任何其他类型的iot设备,其中计算系统901也是代表性的。

仍然参考图8,配置应用程序813在计算系统811上执行。如本文所讨论的,配置应用程序813可以是可选的,或者可以在计算系统821、831、841、851或861中的另一个上执行,另外地或代替一个或多个其他应用程序。配置应用程序813可以代表被设计为配置一个或多个其他消费者应用程序的事件配置信息的任何应用程序。配置应用程序813可以是本机安装和执行的应用程序、基于浏览器的应用程序、移动应用程序、流式传输或流式应用程序或任何其他类型或应用程序、变体或其组合。配置应用程序813还可以是由捆绑在一起的多个应用程序组成的应用程序套件的一部分。

应用程序813、823、833、843、853和863在计算系统821、831、841、851或861上执行。如图1的示例所示,生产者应用程序823、833和843可以代表被设计为与其他应用程序共享数据的任何应用程序。例如,生产者应用程序823、833和843可以向数据共享平台860提供应用程序数据馈送。同样,消费者应用程序853和863可以代表被设计为利用由其他、否则孤立的应用程序生成的共享数据的任何应用程序。应用程序813、823、833、843、853和863可以是本机安装和执行的应用程序、基于浏览器的应用程序、移动应用程序、流式传输或流式应用程序,或任何其他类型或应用程序、变体或其组合。应用程序813、823、833、843、853和863也可以是由捆绑在一起的多个应用程序组成的应用程序套件的一部分。

应用服务器820、830、840、850和860可以通过组件api公开逻辑,诸如例如,在java2平台、企业版(j2ee)应用服务器上找到的enterprisejavabean(ejb)组件模型。另外,应用服务器820、830、840、850和860可以管理自己的资源。守门职责可以包括但不限于安全性、事务处理、资源池和消息传递。应用服务器还可以采用各种可扩展性和容错技术。

应用程序(应用程序服务器客户端)可以包括在pc、移动电话设备、web服务器或甚至其他应用程序服务器上运行的gui(图形用户界面)。在应用服务器及其应用服务器客户端之间来回传递的信息不限于简单的特定显示标记。相反,信息是可以采取数据和方法调用形式的程序逻辑,应用程序服务器客户端可以以任何合适的方式使用公开的商业逻辑。

在操作之前,应用程序823、833、843、853和863向数据共享平台850注册。例如,应用程序823、833、843、853和863可以通过向数据共享平台860提供注册标识信息来注册。注册标识信息可以包括例如用户标识符或一些其他标识信息,数据共享平台860可以使用标识信息来关联并随后标识向数据共享平台860注册的相关应用程序。注册标识信息可以存储在数据储存库864中。

注册标识信息还可以包括应用标识信息,其可以由数据共享平台860用于标识应用程序的输入或输出能力。输入能力可以指示应用程序可以使用的数据馈送类型,而输出能力指示应用程序可以生成的数据馈送类型。尽管未在图8的示例中示出,但是在一些实施例中,应用程序可以是生产者应用程序和消费者应用程序二者。

假设生产者应用程序823、833和843以及消费者应用程序853和863先前已向数据共享平台860注册,配置应用程序813用于为一个或多个其他消费者应用程序设置事件配置信息。配置可以包括事件的设置信息。事件配置信息可以包括:标识要由一个或多个消费者应用程序执行的一个或多个动作的事件设置,以及指示何时将执行一个或多个动作的定时信息。如本文所讨论的,在一些实施例中,配置应用程序813可以是可选的。在这种情况下,事件设置可以由例如消费者应用程序853和863或生产者应用程序823、833和843配置。

数据共享平台860可以将事件配置信息存储在数据储存库864中。如图8的示例所示,为每个事件配置信息条目(或实例)生成清单865。作为示例,图8示出了“唤醒”事件,其包括识别要由灯控制消费者应用程序853和警报应用程序863执行的一个或多个动作的事件设置以及指示何时打开灯以及警报应该执行的定时信息。与每个设置(或动作)相关联的置信水平(或百分比)由决策服务862确定。如本文所讨论的,当多个动作被设置为同一时间窗口或帧内触发(或执行)时,置信水平可用于标识正确的设置。

另外,可以识别和选择相关的生产者应用程序。例如,数据共享平台可以利用配置请求中包括的注册标识符来识别向数据共享平台注册的具有相同注册标识符(例如,相同用户)的其他应用程序。其他应用程序可以在一个或多个不同的应用程序平台上执行(包括在与消费者应用程序相同的应用程序平台上)。如本文所讨论的,然后可以过滤所标识的应用程序,使得仅提供兼容的应用程序以供选择(例如,由注册应用程序813的用户)。

可以基于其输出能力与特定消费者应用程序的输入能力匹配的生产者应用来为每个消费者应用识别兼容的应用。如本文所讨论的,在验证阶段期间,应用程序开发者必须提供可以指示应用程序可以使用的数据馈送的类型的应用程序的输入能力以及可以指示应用程序可以产生的数据馈送的类型的输出能力。尽管未在图8的示例中示出,但是在一些实施例中,应用程序可以是生产者应用程序和消费者应用程序二者。

如图8的示例中所示,为“唤醒”事件配置了多个动作。具体地,事件配置信息的初始或第一设置,警报动作被设置为经由警报应用程序(例如,应用程序863)触发,并且灯动作被设置为经由智能灯开关操作者应用程序(例如,应用程序853)触发。另外,选择生产者应用程序823和833作为与警报和灯光动作相关联的生产者应用程序。

如本文所讨论的,决策服务862包括预测分析引擎(未示出),其能够处理生产者数据馈送861,混合馈送,以及自动配置或重新配置消费者应用程序853和863的事件配置信息。决策服务862生成消费者数据馈送869,其可以是原始的或过滤的生产者数据馈送861,对消费者应用程序853和863的一个或多个指令或api调用,或其某种组合或变体。同样,生产者数据馈送861可以是由决策服务862处理的原始数据馈送,用于配置(或重新配置)事件配置信息的api调用或其某种组合或变体。

再次参考图8a和8b,在操作中,遥测数据在数据共享平台860(图8b)或应用程序部署系统820处聚合。如图所示,他可以将聚合数据作为反馈提供给第三方应用程序开发者。

图9示出了计算系统901,其表示可以实现本文公开的各种应用程序、服务、场景和过程的任何系统或系统集合。例如,计算系统901可以包括服务器计算机、刀片服务器、机架服务器以及适合于执行本文描述的增强协作操作的任何其他类型的计算系统(或其集合)。在支持增强的组协作的上下文中,这样的系统可以使用一个或多个虚拟机、容器或任何其他类型的虚拟计算资源。

计算系统901可以实现为单个装置、系统或设备,或者可以以分布式方式实现为多个装置、系统或设备。计算系统901包括但不限于处理系统902、存储系统903、软件905、通信接口系统907和用户接口系统909。处理系统902可操作地与存储系统903、通信接口系统907和可选的用户接口系统909耦合。

处理系统902从存储系统903加载并执行软件905。当由处理系统902执行以在多租户基于云的内容和协作环境中部署基于范围的证书时,软件905指示处理系统902针对至少在前述实现方式中讨论的各种过程、操作场景和序列如本文描述的那样进行操作。计算系统901可以可选地包括为简洁起见未讨论的附加设备、特征或功能。

仍然参考图9,处理系统902可以包括微处理器和从存储系统903检索和执行软件905的其他电路。处理系统902可以在单个处理设备中实现,但也可以在执行程序指令时协作的多个处理设备或子系统上分布。处理系统902的示例包括通用中央处理单元、专用处理器和逻辑设备,以及任何其他类型的处理设备、其组合或变体。

存储系统903可以包括可由处理系统902读取并且能够存储软件905的任何计算机可读存储介质。存储系统903可以包括以用于存储例如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、磁带盒、磁带、磁盘存储或其他磁存储设备,或任何其他合适的存储介质。在任何情况下,计算机可读存储介质都不是传播信号。

除了计算机可读存储介质之外,在一些实现方式中,存储系统903还可以包括计算机可读通信介质,在其上可以在内部或外部传送软件905的至少一些。存储系统903可以实现为单个存储设备,但也可以跨多个存储设备或子系统实现,这些存储设备或子系统相对于彼此共同定位或分布。存储系统903可以包括能够与处理系统902或可能的其他系统通信的附加元件,例如控制器。

软件905可以在程序指令中实现,并且在其他功能之中,在由处理系统902执行时,可以指导处理系统902以如关于本文所示的各种操作方案、序列和过程所描述的那样操作。例如,软件905可以包括用于指导系统执行参考图3-6描述的过程的程序指令。

特别地,程序指令可以包括协作或以其他方式交互以执行本文描述的各种过程和操作场景的各种组件或模块。各种组件或模块可以体现在编译或解释的指令中,或者体现在一些其他变体或指令的组合中。各种组件或模块可以以同步或异步方式,串行或并行,在单线程环境或多线程中,或根据任何其他合适的执行范例、变体或其组合来执行。软件905可以包括附加过程、程序或组件,例如操作系统软件、虚拟机软件或应用软件。软件905还可以包括可由处理系统902执行的固件或一些其他形式的机器可读处理指令。

通常,软件905在被加载到处理系统902中并且被执行时,可以将合适的装置、系统或设备(其中计算系统901是代表性的)整体从通用计算系统转换为专用计算系统。实际上,存储系统903上的编码软件可以变换存储系统903的物理结构。物理结构的特定变换可以取决于本说明书的不同实现方式中的各种因素。这些因素的示例可以包括但不限于用于实现存储系统903的存储介质的技术以及计算机存储介质是否被表征为主存储或二级存储,以及其他因素。

例如,如果计算机可读存储介质被实现为基于半导体的存储器,则软件905可以在程序指令被编码在其中时变换半导体存储器的物理状态,例如通过变换晶体管、电容器或构成半导体存储器的其他分立电路元件的状态。可以关于磁性或光学介质发生类似的变换。在不脱离本说明书的范围的情况下,物理介质的其他变换是可能的,提供前述示例仅仅是为了便于本讨论。

通信接口系统907可以包括通信连接和设备,其允许通过通信网络(未示出)与其他计算系统(未示出)通信。一起允许系统间通信的连接和设备的示例可以包括网络接口卡、天线、功率放大器、rf电路、收发器和其他通信电路。连接和设备可以通过通信介质进行通信,以与其他计算系统或系统网络(例如金属、玻璃、空气或任何其他合适的通信介质)交换通信内容。上述介质、连接和设备是众所周知的,这里不需要详细讨论。

用户接口系统909可包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户的非触摸手势和其他动作的动作输入设备,以及其他可比较的输入设备和能够从用户接收用户输入的相关处理元件。诸如显示器、扬声器、触觉设备和其他类型的输出设备的输出设备也可以包括在用户接口系统909中。在一些情况下,输入设备和输出设备可以组合在单个设备中,例如能够显示图像和接收触摸手势的显示器。上述用户输入和输出设备在本领域中是公知的,这里不需要详细讨论。在一些情况下,当计算系统901被实现为一个或多个服务器计算机(诸如例如,刀片服务器、机架服务器或任何其他类型的计算服务器系统(或其集合)时,可以省略用户接口系统909。

用户接口系统909还可以包括可由处理系统902执行以支持上面讨论的各种用户输入和输出设备的相关用户界面软件。用户界面软件和用户界面设备可以单独地或彼此结合以及与其他硬件和软件元件结合,可以支持在其中可呈现生产力应用程序的用户界面的图形用户界面、自然用户界面或任何其他类型的用户界面。

计算系统901和其他计算系统(未示出)之间的通信可以在一个或多个通信网络上并且根据各种通信协议、协议组合或其变体发生。示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板或任何其他类型的网络、网络组合或它们的变体。上述通信网络和协议是众所周知的,这里不需要详细讨论。在交换数据、内容或任何其他类型的信息的任何上述示例中,信息的交换可以根据各种众所周知的数据传输协议中的任何一种进行。

附图中提供的功能框图、操作方案和序列以及流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。虽然为了简化说明的目的,这里包括的方法可以是功能图、操作场景或序列或流程图的形式,并且可以被描述为一系列动作,应该理解和意识到,方法不受动作顺序的限制,因为根据此,一些动作可以以不同的顺序发生和/或与本文所示和所述的其他动作同时发生。例如,本领域技术人员将理解并意识到,方法可以替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,并非所有方法中所示的行为都可能是新颖实现方式所必需的。

本文包括的描述和附图描绘了教导本领域技术人员如何制作和使用最佳选项的具体实现方式。出于教导发明原理的目的,已经简化或省略了一些传统方面。本领域技术人员将理解落入本发明范围内的这些实施方式的变型。本领域技术人员还将意识到,上述特征可以以各种方式组合以形成多个实现方式。结果,本发明不限于上述具体实现方式,而是仅由权利要求及其等同物限制。

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