CN109716736B - 应用数据共享和决策服务平台 - Google Patents

应用数据共享和决策服务平台 Download PDF

Info

Publication number
CN109716736B
CN109716736B CN201780057504.9A CN201780057504A CN109716736B CN 109716736 B CN109716736 B CN 109716736B CN 201780057504 A CN201780057504 A CN 201780057504A CN 109716736 B CN109716736 B CN 109716736B
Authority
CN
China
Prior art keywords
event
application
applications
configuration information
producer
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
Application number
CN201780057504.9A
Other languages
English (en)
Other versions
CN109716736A (zh
Inventor
D·莫瓦特
S·奥德里斯科尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202210905655.8A priority Critical patent/CN115242867A/zh
Publication of CN109716736A publication Critical patent/CN109716736A/zh
Application granted granted Critical
Publication of CN109716736B publication Critical patent/CN109716736B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • G06F9/44563Sharing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文公开了用于促进应用数据在于一个或多个应用平台上执行的多个隔离的应用之间的动态共享的系统、方法、和软件。在一个实现中,决策服务监视与事件相对应的事件配置信息,监视由与该事件相关联的一个或多个生产者应用所提供的应用数据馈送,基于一个或多个应用数据馈送来检测事件重新配置触发,并且响应于所述事件重新配置触发来自动地修改事件配置信息。接着,决策服务引导至少一个应用平台调用至少一个数据消费者应用,以便至少基于经修改的事件配置信息来执行至少一个动作。

Description

应用数据共享和决策服务平台
背景技术
物联网(IoT)一般是指对嵌入在物理对象中的传感器、致动器、和通信技术的使用,以使得所述对象能够通过诸如互联网之类的网络而被跟踪或控制。在我们日常生活的几乎所有领域,设备越来越多地是连接互联网的。从灯光开关到音乐播放机,从天气传感器到牲畜监视器,当IoT设备提供丰富的信息时或者当IoT设备经由互联网被控制时,大量的数据是可获得的。
与此同时,应用(或“app”)商店的现象已经使得独立软件提供商(ISV)创造出能够处理各种类型的数据和用户输入的应用,所述应用的范围包括交通拥堵app、开门app、消息传送app、音乐流和播放列表app,等等。
不幸地是,这些应用通常是彼此不连接的或隔离的——即使当在同一应用平台或设备上操作时。例如,智能电话设备可以包含各种经下载的app,这些app几乎没有(如果有过的话)互相交谈的能力。一些供应商已经开发了被设计为支持与其他应用的非用户发起的交互的应用。然而,这些应用在什么触发所述交互以及在应用能够响应于所述触发而采取什么动作方面受到限制。
总之,本文中的一些先前的或相关的系统及其相关联的限制的示例旨在是说明性而非排他性的。在阅读了下文之后,对现有的或先前的系统的其他限制将变得对本领域技术人员显而易见。
发明内容
在本文中所讨论的示例涉及用于在于一个或多个应用平台上执行的多个隔离的应用之间共享应用数据的决策服务。在一个实现中,应用数据共享平台包括监视与事件相对应的事件配置信息的决策服务,所述事件配置信息包括事件设置,其标识要由一个或多个消费者应用执行的一个或多个动作以及指示何时要执行所述一个或多个动作的定时信息。决策服务还监视由与该事件相关联的一个或多个生产者应用所提供的应用数据馈送,基于一个或多个应用数据馈送来检测事件重新配置触发,并且响应于所述事件重新配置触发来自动地修改事件配置信息。接着,决策服务引导所述一个或多个应用平台中的至少一个应用平台调用所述一个或多个数据消费者应用中的至少一个消费者应用,以至少部分地基于经修改的事件配置信息来执行所述一个或多个动作中的至少一个动作。
提供了该发明内容以用简化的形式引入了对在以下的具体实施方式中进一步描述的概念的选择。可以理解的是,该发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用来限制所要求保护的主题的范围。
附图说明
为了描述能够以其获得上述和其他优点和特征的方式,具体的描述被阐述并且将通过参考在附图中所示出的其具体示例而被呈现。所要理解的是,这些附图仅描绘了典型的示例,并且因此不被认为是对其范围进行限制,实现将通过对附图的使用而用另外的特异性和细节被描述和解释。
图1描绘了框图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用之间共享应用数据的示例操作架构的框图。
图2A-2C示出了示例序列图,其描绘了根据一些实施例的、用于促进应用数据在于一个或多个应用平台上执行的多个隔离的应用之间的共享的示例操作架构的各种组件的示例操作。
图3描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台上执行的多个隔离的应用之间共享应用数据的决策服务的示例操作。
图4描绘了流程图,其示出了根据一些实施例的、用于修改事件配置信息的决策服务的示例操作。
图5描绘了流程图,其示出了根据一些实施例的、用于在事件设置配置期间识别与消费者应用相兼容的生产者应用的决策服务的示例操作。
图6描绘了流程图,其示出了根据一些实施例的、用于在事件设置配置期间识别与消费者应用相兼容的生产者应用的决策服务的示例操作。
图7描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用之间共享应用数据的示例操作架构。
图8描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用(包括基于云的应用)之间共享应用数据的示例操作架构。
图9是框图,其示出了适合于实现在本文中所公开的基于范围的证书(certificate)部署技术的计算系统,所述计算系统包括在附图中所示出以及在以下的技术公开中所讨论的应用、架构、元素、过程、以及操作场景和序列中的任何一个。
具体实施方式
以下详细讨论了示例。尽管讨论了具体的实现,但应当理解的是,这样做仅仅是出于说明的目的。本领域技术人员将认识到,可以使用其他组件和配置而不脱离该公开的主题的精神和范围。所述实现可以是机器实现的方法、计算设备、或者计算机可读介质。
在本文中所讨论的技术通过对中央数据共享平台的使用来促进应用数据在于一个或多个应用平台上执行的多个隔离的应用之间的动态共享。中央数据共享平台被配置为接收、组合、处理应用数据,以及动态地促进应用数据在向该系统进行了注册的应用之间的通信,此外还有其他功能。
在本文中所讨论的至少一种技术效果是应用在关于什么触发了交互以及应用能够响应于所述触发而采取什么动作没有限制的情况下动态地进行通信的能力。
图1描绘了框图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用之间共享应用数据的示例操作架构100的框图。示例操作架构100包括在每个计算系统上执行的单个隔离的应用(例如,生产者应用、消费者应用、或配置应用)。然而,可以意识到的是,任何数量的隔离的应用可以在每个计算系统上执行。
示例操作架构100包括计算系统111、121、131、141、151和161,数据共享平台160,以及应用(“app”)服务器120、130、140、150和160。数据共享平台160包括数据存储库164。如在图1的示例中所示,计算系统121、131和141分别包括生产者应用123、133和143。计算系统151和161分别包括消费者应用153和163。尽管没有示出,但生产者应用123、133和143以及消费者应用153和163各自可以包括应用程序接口(API),所述API代表计算系统可以通过其与数据共享平台160进行通信(或者在一些实例中直接彼此进行通信)的接口。该API可以是在生产者应用或消费者应用的上下文中运行的插件应用、应用的集成组件、或者操作系统或计算系统上的一些其他应用的组件,此外还有其他实现。
数据共享平台160代表促进应用数据馈送在经注册的另外隔离的应用之间的共享的服务或服务的集合。数据共享平台160包括决策服务162,所述决策服务162包括预测性分析引擎(未示出),所述预测性分析引擎能够处理生产者数据馈送161、混合所述馈送、以及自动地配置或重新配置消费者应用的事件配置信息。
数据共享平台160可以包括服务器计算机、刀片式服务器、机架式服务器,以及如在本文中所描述的适合于实行或促进应用数据馈送在另外隔离的应用之间的共享的任何其他类型的计算系统(或者其集合)。这样的系统可以采用一个或多个虚拟机、容器,或者计算系统901所代表的在支持增强型分组协同的上下文中的任何其他类型的虚拟计算资源。
计算系统111、121、131、141、151和161代表适合于采用应用113、123、133、143、153和163的任何计算设备。示例包括台式和膝上型计算机、平板计算机、智能电话、智能电视、可穿戴设备(手表、眼镜等),以及同样由计算系统901所代表的任何其他类型的IoT设备。
仍然参考图1,配置应用113在计算系统111上执行。如在本文中所讨论的,除了或者代替一个或多个其他应用,配置应用113可以是可选的,或者可以在计算系统121、131、141、151或161中的另一个上执行。配置应用113可以代表被设计为对一个或多个其他消费者应用的事件配置信息进行配置的任何应用。配置应用113可以是本机安装和执行的应用、基于浏览器的应用、移动应用、流式传输或经流式传输的应用、或者任何其他类型或应用、变型或其组合。配置应用113也可以是由捆绑在一起的多个应用所组成的应用套件的部分。
应用113、123、133、143、153和163在计算系统121、131、141、151或161上执行。如在图1的示例中所示,生产者应用123、133和143可以代表被设计为与其他应用共享数据的任何应用。例如,生产者应用123、133和143可以向数据共享平台160提供应用数据馈送。同样地,消费者应用153和163可以代表被设计为利用由其他的另外隔离的应用所生成的共享数据的任何应用。应用113、123、133、143、153和163可以是本机安装和执行的应用、基于浏览器的应用、移动应用、流传输或经流传输的应用,或者任何其他类型或应用、变型或其组合。应用113、123、133、143、153和163也可以是由捆绑在一起的多个应用所组成的应用套件的部分。
App服务器120、130、140、150和160可以通过组件API来展现逻辑,所述组件API例如基于Java 2平台Enterprise Edition(J2EE)应用服务器的Enterprise JavaBean(EJB)组件模型。另外地,应用服务器120、130、140、150和160可以管理自己的资源。守门责任可以包括但不限于安全性、事务处理、资源池化、和消息传送。所述app服务器也可以采用各种可扩展性和容错技术。
应用(应用服务器客户端)可以包括在PC、移动电话设备、Web服务器、或者甚至其他应用服务器上运行的GUI(图形用户界面)。在应用服务器与其app服务器客户端之间来回行进的信息不简单地限于特定的显示标记。替代地,所述信息是能够采用数据和方法调用的形式的程序逻辑,所述应用服务器客户端可以以任何合适的方式来采用所展现的商业逻辑。
在操作之前,应用123、133、143、153和163向数据共享平台160注册。例如,应用113、123、133、143、153和163可以通过向数据共享平台160提供注册标识信息来注册。注册标识信息可以包括例如用户标识符或者一些其他标识信息,所述其他标识信息可以由数据共享平台160用来关联并且随后识别向数据共享平台160注册的相关的应用。所述注册标识信息可以被存储在数据存储库164中。
该注册标识信息还可以包括可以由数据共享平台160用来识别应用的输入或输出能力的应用标识信息。输入能力可以指示应用能够使用的数据馈送的类型,而输出能力指示应用可以产生的数据馈送的类型。尽管没有在图1的示例中示出,但在一些实施例中,应用可以既是生产者应用又是消费者应用。
假设生产者应用123、133和143以及消费者应用153和163先前已经向数据共享平台160进行了注册,则配置应用113被用来设置一个或多个其他消费者应用的事件配置信息。所述配置可以包括对事件的信息进行设置。事件配置信息可以包括事件设置,所述事件设置标识要由一个或多个消费者应用执行的一个或多个动作以及对所述一个或多个动作要在何时被执行进行指示的定时信息。如在本文中所讨论的,在一些实施例中,配置应用113可以是可选的。在这样的实例中,事件设置可以由例如消费者应用153和163或者生产者应用123、133和143来配置。
数据共享平台160可以将事件配置信息存储在数据存储库164中。如在图1的示例中所示,可以生成针对每个事件配置信息条目(或实例)的清单165。作为示例,图1示出了包括事件设置的“唤醒”事件,所述事件设置标识要由灯光控制消费者应用153和闹铃应用163执行的一个或多个动作,以及对灯光何时被打开和闹铃应当何时被执行进行指示的定时信息。由决策服务162确定与每个设置(或动作)相关联的置信度水平(或百分比)。如在本文中所讨论的,置信度水平可以用来标识多个动作被设置为在同一时间窗口或帧内触发(或执行)时的正确设置。
另外地,相关的生产者应用可以被识别和选择。例如,数据共享平台可以利用随配置请求所包括的注册标识符来识别利用同一注册标识符(例如,同一用户)向该数据共享平台注册的其他应用。所述其他应用可以在于一个或多个不同的应用平台上(包括在与消费者应用同一应用平台上)执行。如本文所讨论的,所识别的应用接着可以被过滤以使得仅提供兼容的应用以供选择(例如,由注册应用113的用户选择)。
兼容的应用可以是针对每个消费者应用基于其输出能力与特定消费者应用的输入能力相匹配的生产者应用来识别的。如在本文所讨论的,在验证阶段期间,应用开发者必须提供应用的输入能力和输出能力,所述输入能力可以指示该应用能够使用的数据馈送的类型,所述输出能力可以指示该应用能够产生的数据馈送的类型。尽管没有在图1的示例中示出,但是在一些实施例中,应用可以既是生产者应用又是消费者应用。
在一些实施例中,可以存在多个版本(例如,v2.0、v2.1等)的数据共享平台,例如数据共享平台150。方案对在数据共享平台的每个版本中可用的能力进行定义,并且应用可以(例如,经由清单)自行声明哪些能力在操作期间被利用。例如,如果应用打算使用在特定版本的数据共享平台上不可用的能力,则该应用会被阻止在特定平台或平台的版本上安装。
如图1的示例中所示,针对“唤醒”事件配置了多个动作。具体地,事件配置信息的初始或第一设置——闹铃动作被设置为经由闹铃应用(例如,应用163)来触发,并且灯光动作被设置为经由智能灯光开关操作器应用(例如,应用165)来触发。另外地,生产者应用123和133被选择作为与闹铃和灯光动作相关联的生产者应用。
如本文所讨论的,决策服务162包括预测性分析引擎(未示出),其能够处理生产者数据馈送161、混合所述馈送、并且自动地配置或重新配置消费者应用153和163的事件配置信息。决策服务162生成消费者数据馈送169,消费者数据馈送169可以是原始的或者经过滤的生产者数据馈送161、对消费者应用153和163的一个或多个指令或API调用、或者其某一组合或变型。同样地,生产者数据馈送161可以是由决策服务162所处理的原始数据馈送、用于配置(或重新配置)事件配置信息的API调用、或者其某一组合或变型。
为了进一步说明示例操作架构100的操作,提供了图2A-2C。
图2A-2C示出了示例序列图200A-200C,其描绘了根据一些实施例的、用于促进应用数据在于一个或多个应用平台上执行的多个隔离的应用之间的共享的图1的示例操作架构100的各种组件的示例操作。序列图200A-200C包括配置应用113、数据共享平台160(包括决策服务162)、生产者应用123、生产者应用133、消费者应用153和消费者应用163。示例操作架构100的额外的或更少的组件是可能的。
如在本文中所讨论的,在操作之前,应用开发者将其应用连同应用能力信息一起提交至应用商店(未示出)。另外地,在一些实施例中,应用可以被预先加载到平台的实例中。例如,家庭唤醒服务的硬件制造商可以提交和/或以其他方式关联或预先安装某些补充应用。应用能力可以包括应用的输入能力和输出能力,所述输入能力指示应用能够使用(或接收)的应用数据馈送的类型,所述输出能力指示应用能够产生(或提供)的应用数据馈送的类型。另外地,在应用提交过程期间,应用可以被分配或提供以应用标识符(ID)。
该应用随后被下载并且向数据共享平台160注册。例如,应用可以通过向数据共享平台160提供注册标识信息来进行注册。所述注册标识信息可以包括例如用户标识符或者一些其他标识信息,所述其他标识信息可以由数据共享平台160用来关联并且随后识别向数据共享平台160注册的相关的应用。所述注册标识信息还包括可以用来标识应用的输入能力和输出能力的应用ID。
首先参考图2A的示例操作序列200A,在操作中,用户112经由配置应用113来配置事件。一开始,配置应用113向数据共享平台160发送事件配置请求。如在本文中所讨论的,事件配置请求包括注册标识信息,所述注册标识信息包括一个或多个应用标识符和用户(或账户)标识符。在图2A-2C的示例中,注册信息包括消费者应用153和163的应用标识符。
数据共享平台160使用用户标识符来识别利用同一注册标识符(例如,用户标识符)向数据共享平台160注册的一组其他应用(例如,生产者应用)。数据共享平台160使用一个或多个应用标识符来过滤所识别的生产者应用,以便识别出与一个或多个消费者应用153和163中的每个相兼容的生产者应用的子集。生产者应用的(多个)子集的识别或描述接着经由配置应用113被提供给用户。用户112可以经由配置应用113来选择一个或多个相关的生产者应用以进行监视。
如在图2A-2C的示例中所示,生产者应用123和133是由配置应用113的用户选择的。数据共享平台160将所选择的生产者应用123和133与该事件相关联。出于讨论的目的,生产者应用123可以是天气数据应用,例如能够基于预先确定的或当前的位置来提供天气数据的Weather
Figure BDA0001999241490000081
应用。生产者应用133可以是能够测量和/或以其他方式检测用户的睡眠模式的IoT中枢(hub)设备,并且生产者应用143可以是交通数据应用。尽管没有示出,但生产者应用也可以是诸如微软的
Figure BDA0001999241490000082
之类的日历应用,或者多种其他应用、IoT应用等。同样地,消费者应用153可以是灯光控制消费者应用153,其例如能够在唤醒事件期间控制例如用户的卧室中的飞利浦IoT灯泡。
用户还提供用于事件的配置的事件配置设置。所述事件配置设置标识要由一个或多个消费者应用所执行的一个或多个动作以及对所述一个或多个动作要在何时被执行进行指示的定时信息。例如,如在图1的示例中所示,“唤醒”事件被示出为包括标识要执行的一个或多个动作的事件设置。更加具体地,灯光动作要由灯光控制消费者应用153来执行,并且闹铃动作要由闹铃应用163来执行。还提供了与所述动作相关联的定时。
数据共享平台160根据所接收到的事件配置设置来配置事件并且生成针对事件的清单165。数据共享平台160还可以计算与事件配置设置相关联的置信度水平和/或由事件配置设置所指示的一个或多个动作。
作为示例,图1示出了包括第一事件设置的“唤醒”事件,所述第一时间设置标识要由灯光控制消费者应用165和闹铃应用163执行的一个或多个动作,以及对灯光何时被打开和闹铃应当何时被执行进行指示的定时信息。与每个设置(或动作)相关联的置信度水平(或百分比)是由决策服务162确定的。如在本文中所讨论的,置信度水平可以用来标识多个动作被设置为在同一时间窗口或帧内触发(或执行)时的正确设置。
一旦被配置,数据共享平台160就能够以多种方式来获得生产者应用数据馈送。例如,生产者应用数据馈送可以被推送至数据共享平台160,或者数据共享平台160可以定期针对数据馈送对生产者应用123和133进行查询,或者从生产者应用123和133直接读取数据,例如拉取生产者数据馈送。
如在图2A-2C的示例中所示出的,数据共享平台160向生产者应用123和133发送应用数据馈送请求。生产者应用123和133进而将生产者应用数据馈送提供至数据共享平台160。生产者应用数据馈送可以被定期提供、基于对数据或其他触发事件的改变而被提供、响应于请求或查询、或者以包括其组合或变型的其他方式被提供。
数据共享平台160对由与事件相关联的生产者应用123和133所提供的数据馈送进行监视。在监视生产者应用数据馈送的过程中,数据共享平台160基于一个或多个应用数据馈送来检测事件重新配置触发。响应于该事件重新配置触发,数据共享平台160自动地修改事件配置信息。对事件配置信息的修改可以基于预测性分析引擎(未示出)的一个或多个机器学习模型而动态地进行。该预测性分析引擎可以作为决策服务162的部分而被包括。
在一些实施例中,对事件配置信息进行修改可以包括基于一个或多个应用数据馈送的内容来生成针对事件的另外的事件设置,以及计算与该另外的事件设置相关联的置信度水平。如在图1的示例中所示,该另外的事件设置(例如,设置2)包括针对唤醒事件具有新的定时信息的新的闹铃动作。在图1的示例中,还计算该另外的事件设置的置信度水平。例如,设置2的闹铃具有85%的置信度,而设置1(原始设置)具有50%的置信度。数据共享平台160可以确定事件配置信息包括其中每个标识要在时间窗口内(例如,5AM和6AM之间)被执行的相同动作(例如,闹铃)的多个事件设置,并且自动地选择具有最高置信度水平的事件设置,例如设置2。由此,闹铃定时信息可以基于生产者数据馈送161而被动态地修改。
数据共享平台160连续地监视与由事件配置信息所标识的经配置的事件相对应的定时信息,以确定一个或多个动作是否将要执行。如果将要执行,则数据共享平台160引导合适的(多个)应用平台调用(多个)消费者应用并执行所述动作。
消费者应用可以可选地向数据共享平台提供反馈,所述反馈可以被数据共享平台160利用,并且更加特别地由决策服务162利用,以增强动态事件重新配置。所述反馈可以采用遥测数据的形式,其被提供至决策服务162和/或应用开发者以使得应用之间的交互模式能够更好地被理解。另外地,默认行为可以被改进。例如,如果灯光IoT设备可以在该设备上具有中止按钮,则所述中止按钮在被按压时可以向决策服务162通知刚刚采取的动作是不期望的(例如,灯光被过早打开)。数据共享平台160可以基于该反馈来调节预测性分析引擎的一个或多个机器学习模型。例如,该反馈可以引起该相同动作在未来的偏好评价有所下降。该反馈数据还可以用来跨数据共享平台160的用户基础来改进算法型机器学习模型,以使得其他用户也能够从增强的系统知识中获益。
分别在图2B和2C中所示出的示例序列图200B和200C类似于序列图200A,区别在于在序列图200B中,生产者应用133被配置有另外的功能,该另外的功能用于至少监视其自己的生产者应用数据馈送,并且通过针对一个或多个动作生成新的事件设置(或信息)并且将该事件设置提供至数据共享平台160来自动地重新配置事件配置信息。在一些实施例中,对事件配置信息的重新配置可以包括对与新的时间设置相关联的置信度水平进行计算。同样地,在序列图200C中,消费者应用153被配置有用于监视生产者应用数据馈送并且自动地重新配置事件配置信息的另外的功能。另外地,在图2C的示例中,消费者应用153自动地调用消费者应用163以执行动作。
图3描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台上执行的多个隔离的应用之间共享应用数据的决策服务的示例操作300。示例操作300可以由图1的决策服务162或者图1的数据共享平台160的一个或多个处理器、模块、引擎、组件或工具在各种实施例中执行。
首先,在301处,决策服务监视与事件相对应的事件配置信息。如在本文中所讨论的,事件配置信息可以包括事件设置,所述事件设置标识要由一个或多个消费者应用执行的一个或多个动作以及对所述一个或多个动作要在何时被执行进行指示的定时信息。
在303处,决策服务监视由与该事件相关联的一个或多个生产者应用所提供的应用数据馈送,并且在305处,基于所述一个或多个应用数据馈送来检测事件重新配置触发。例如,所述事件重新配置触发可以是由一个或多个经预测的模式引起的,所述一个或多个经预测的模式是如预测性分析引擎的机器学习模型所确定的。
响应于事件重新配置触发,在307处,决策服务自动地修改事件配置信息。更加具体地,决策服务的预测性分析引擎对生产者数据馈送161进行处理,并且在一些实例中利用机器学习算法来修改事件配置。
最后,在309处,决策服务引导一个或多个应用平台中的至少一个应用平台调用一个或多个数据消费者应用中的至少一个数据消费者应用,以便至少部分地基于经修改的事件配置信息来执行一个或多个动作中的至少一个动作。
图4描绘了流程图,其示出了根据一些实施例的、用于修改事件配置信息的决策服务的示例操作400。示例操作400可以由图1的决策服务162或者图1的数据共享平台160的一个或多个处理器、模块、引擎、组件或工具在各种实施例中执行。
首先,在401处,决策服务基于生产者数据馈送的内容来针对事件生成事件设置。例如,如在图1的示例中所示,第二设置(#2)是基于生产者数据馈送161而针对闹铃动作生成的。该动作将在5:45AM被执行一次(即,并不重复进行),这是因为系统已经基于生产者数据馈送161而检测到例如不良的交通、天气状况等。可替代地或另外地,IoT中枢可以检测到睡眠模式指示用户已经有了足够的睡眠或者由于其他原因准备好醒来。尽管没有示出,但该系统也可以在某些标准被满足的情况下将闹铃的定时推回至例如6:15AM。
图5描绘了流程图,其示出了根据一些实施例的、用于在事件设置配置期间识别与消费者应用相兼容的生产者应用的决策服务的示例操作500。示例操作500可以由图1的决策服务162或者图1的数据共享平台160的一个或多个处理器、模块、引擎、组件或工具在各种实施例中执行。
首先,在501处,决策服务接收要设置与事件相关联的事件配置信息的请求。所述请求可以包括唯一地标识数据共享平台的用户或账户的平台标识符。另外地,所述请求可以包括标识与该事件相关联的一个或多个消费者应用的一个或多个应用标识符。
在503处,决策服务使用唯一的平台标识符来识别已经向数据共享平台进行了注册的一组相关的应用。
在505处,决策服务对该组相关的应用进行过滤以识别出与所述一个或多个消费者应用相兼容的生产者应用。在一些实施例中,对所述应用用于识别出与一个或多个消费者应用中的每个消费者应用相兼容的生产者应用的所述过滤可以包括:识别消费者应用的输入能力,使用唯一的平台标识符来识别已经向数据共享平台进行了注册的该组相关的应用的输出能力,以及选择具有与消费者应用的输入能力相匹配的输出能力的生产者应用。经过滤的应用可以是与消费者应用相兼容的生产者应用。在一些实施例中,可以针对与被配置的事件相关联的每个消费者应用而选择一分组应用。另外地,消费者应用和生产者应用两者必须由它们在其上执行的应用数据平台的当前版本所支持。
尽管没有在图5的示例中被示出,但是决策服务可以将兼容的生产者应用提供至配置应用以供用户或配置选择。以该方式,用户或配置应用可以识别其应用数据馈送应当针对事件被监视的兼容的生产者应用的子集。
图6描绘了流程图,其示出了根据一些实施例的、用于在事件设置配置期间识别与消费者应用相兼容的生产者应用的决策服务的示例操作600。示例操作600可以由图1的决策服务162或者图1的数据共享平台160的一个或多个处理器、模块、引擎、组件或工具在各种实施例中执行。
首先,在601处,决策服务识别与被设置为在即将到来的时间窗口中执行的事件相关联的动作。该时间窗口可以是预先配置的时间窗口,其能够由决策服务动态地选择,或者以包括其组合和变型在内的多种其他方式来确定。在603处,决策服务确定在相同时间窗口中针对同一事件存在重复(或竞争)的动作/设置,并且在605处,选择具有最高置信度水平的动作。
例如,如图1的示例中所示,具有闹铃动作或组件的第一配置设置要以50%的置信度水平在6A.M.执行,而闹铃动作或组件的第二配置设置则要以85%的置信度水平在5:45A.M.执行。数据共享平台160可以确定事件配置信息包括多个事件设置,其中每个事件设置识别要在一时间窗口内(例如,5A.M.和6A.M.之间)被执行的同一动作(例如,闹铃)。由此,数据共享平台160可以选择具有最高置信度的动作,例如来自第二设置的闹铃。
图7描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用之间共享应用数据的示例操作架构700。更加具体地,示例操作架构700类似于图1的示例操作架构100,但示出了这样的实施例,其中包括配置应用732在内的以其他方式隔离的应用与其他应用共同存在于相同的计算系统上,以及在一些实例中共同存在于相同的运行时环境中。应用能够经由数据共享平台760来共享应用数据。
示例操作架构700包括计算系统721、731、751和761,数据共享平台760,以及应用(“app”)服务器120、130、140、150和160。数据共享平台760可以是图1的数据共享平台160,但可替代的配置是可能的。
如在图7的示例中所示,生产者应用723在计算系统721上执行,配置应用732、生产者应用734和消费者应用736在计算系统731上执行,应用753在计算系统751上执行,并且应用763在计算系统761上执行。计算系统721、731、751和761可以分别是图1的计算系统121、131、151和161,但可替代的配置是可能的。同样地,生产者应用、消费者应用、和配置应用可以以与参考图1的示例所讨论的操作相同或相似的方式进行操作。
图8描绘了流程图,其示出了根据一些实施例的、用于在于一个或多个应用平台(或计算系统)上执行的多个隔离的应用(包括基于云的应用)之间共享应用数据的示例操作架构800。示例操作架构800类似于图1的示例操作架构100,但示出了由此各种生产者应用823、833和843是在云端861的处理系统上代表用户812执行的实施例。云861可以是数据共享平台的部分或者是操作架构800的不同组件。
示例操作架构800包括计算系统813、851和861,数据共享平台860,以及应用(“app”)服务器820、830、840、850和860。数据共享平台860可以是图1的数据共享平台160,但可替代的配置是可能的。
如在图8的示例中所示,生产者应用823、833和843在被用户812配置之后在云端861的处理(或应用系统)上执行。例如,用户812可以配置天气app 823以基于用户的固定位置来提供天气信息。可替代地,用户812的位置可以被定期发送至基于云的应用。生产者应用823、833和843可以向决策服务862提供生产者数据馈送。生产者应用、消费者应用、和配置应用可以以与参考图1的示例所讨论的操作相同或相似的方式来进行操作。
图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并执行软件905的其他电路。处理系统902可以在单个处理设备内被实现,但是也可以跨在执行程序指令时协作的多个处理设备或子系统而分布。处理系统902的示例包括通用中央处理单元、应用专用处理器、和逻辑器件,以及任何其他类型的处理设备、其组合或变型。
存储系统903可以包括能够由处理系统902读取并且能够存储软件905的任何计算机可读存储介质。存储系统903可以包括以用于存储信息(例如,计算机可读指令、数据结构、程序模块、或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。存储介质的示例包括随机存取存储器、只读存储器、磁盘、光盘、闪速存储器、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者任何其他合适的存储介质。计算机可读存储介质在任何情况下都不是传播的信号。
除了计算机可读存储介质以外,在一些实现中,存储系统903还可以包括软件905中的至少一些软件可以通过其内部地或外部地传送的计算机可读通信介质。存储系统903可以被实现为单个存储设备,但也可以跨位于同一位置或相对于彼此分布的多个存储设备或子系统来实现。存储系统903可以包括能够与处理系统902或者有可能与其他系统进行通信的另外的元件,例如控制器。
软件905可以以程序指令来实现,并且当由处理系统902执行时,所述软件905可以引导处理系统902如关于在本文中所示出的各种操作性场景、顺序、和过程所描述的那样操作,此外还有其他功能。例如,软件905可以包括引导系统执行参考图3-6所描述的过程的程序指令。
特别地,程序指令可以包括协同或者以其他方式进行交互以实行在本文中所描述的各种过程和操作场景的各种组件或模块。可以以经编译或经解译的指令或者以指令的一些其他变型或组合来实施各种组件或模块。可以以同步或非同步的方式、顺序地或并行地、在单线程的环境中或在多线程的环境中、或者根据任何其他合适的执行范例、变型、或其组合来执行各种组件或模块。软件905可以包括另外的过程、程序、或组件,例如操作系统软件、虚拟机软件、或应用软件。软件905也可以包括固件或者能够由处理系统902执行的一些其他形式的机器可读处理指令。
通常而言,当被加载到处理系统902中并被执行时,软件905可以将合适的装置、系统、或设备(其由计算系统901所代表)全部从通用计算系统转换成专用计算系统。事实上,将软件905编码在存储系统903上可以转换存储系统903的物理结构。物理结构的具体的转换可以取决于该描述的不同的实现中的各种因素。这样的因素的示例包括但不限于:用于实现存储系统903的存储介质的技术和计算机存储介质是被表征为主要存储还是次要存储,以及其他因素。
例如,如果计算机可读存储介质被实现为基于半导体的存储器,则当程序指令被编码在其中时,软件905可以例如通过转换晶体管、电容器、或构成半导体存储器的其他分立电路器件的状态,来转换该半导体存储器的物理状态。可以关于磁或光介质而发生类似的转换。物理介质的其他转换是可能的而不脱离本说明的范围,其中,仅仅为了促进本讨论而提供了前述示例。
通信接口系统907可以包括允许通过通信网络(未示出)与其他计算系统(未示出)进行通信的通信连接和通信设备。共同支持系统间通信的连接的示例可以包括:网络接口卡、天线、功率放大器、RF电路、收发机、以及其他通信电路。连接和设备可以通过通信介质进行通信以与其他计算系统或系统的网络交换通信,所述通信介质例如金属、玻璃、空气、或任何合适的通信介质。前述的介质、连接、和设备是公知的并且不需要在这里详细讨论。
用户接口系统909可以包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测用户的非触摸手势和其他运动的运动输入设备、以及能够从用户接收用户输入的其他类似的输入设备和相关联的处理元件。在用户接口系统909中还可以包括诸如显示器、扬声器、触觉设备、和其他类型的输出设备之类的输出设备。在一些情况下,可以将输入和输出组合在单个设备中,例如能够显示图像并且能够接收触摸手势的显示器。前述的用户输入设备和输出设备是在本领域中公知的并且不需要在这里详细讨论。在一些情况下,用户接口系统909可以在计算系统901被实施为一个或多个服务器计算机时被省略,所述服务器计算机例如是刀片式服务器、机架式服务器,或者任何其他类型的计算服务器系统(或者其组合)。
用户接口系统909还可以包括能够由处理系统902执行的、支持在上文中所讨论的各种用户输入和输出设备的相关联的用户界面软件。独立地或彼此且与其他硬件元件和软件元件相结合地,用户接口软件和用户接口设备可以支持图形用户接口、自然用户接口,或者其中可以呈现针对生产力应用的用户接口的任何其他类型的用户接口。
计算系统901与任何其他计算系统(未示出)之间的通信可以通过一个或多个通信网络并且根据各种通信协议、协议的组合、或其变型来进行。示例包括:内联网、互联网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义的网络、数据中心总线、计算背板、或任何其他类型的网络、网络的组合、或其变型。前述的通信网络和协议是公知的并且不需要在这里详细讨论。在其中交换数据、内容或者任何其他类型的信息的前述示例的任何一个中,信息的交换可以根据多种公知的数据传输协议中的任何一个来进行。
示例性操作场景
如在本文中所讨论的,描述了数据共享平台。在一些操作场景中,数据共享平台可以是例如IoT连接的智能可插入决策引擎服务(IPDES)。在操作的一个简化示例中,描述了“唤醒服务”,其包括基本闹铃配置应用和经安装的两个其他app:“天气监视器”app和“灯光开关操作器”app。
配置app(例如,其可以是智能电话app、或利用物理IoT设备上的按钮的自定义app)可以存储能够由设备上的其他app读取的基本用户偏好:
App ID(例如,1)
启用闹铃(例如,真)
工作日闹铃时间(例如,早上7点)
周末闹铃时间(例如,早上8:30)
动作0:铃声ID(例如,6)
小睡(例如,5分钟)
在该操作场景中,唤醒服务具有对在设备上安装的其他app已知的预先定义的输入API:
下一个闹铃时间(时间,置信度%)
下一个闹铃动作(应用ID、动作ID、偏好强度%、声音排他性真/假)
在该示例中,针对接下来的星期三早上,可以使用基本配置应用在星期二下午将设置写至IPDES API。闹铃应用具有定期更新其偏好(例如,至少每天一次)以使得闹铃时间在星期五而不是星期六被改变的逻辑:
下一个闹铃时间(星期三早上7:00,50%)
下一个闹铃动作(应用=1,动作=0,偏好=50%,类型=声音,时间差=0分钟)
仅使用这一个应用,IPDES智能引擎具有简单的选择——在早上7:00,引擎将调用应用1,动作0。这引起闹铃app被调用,并且一旦被调用,闹铃应用进行查找,这意味着在闹铃响的准确时间以铃声6响铃。所述偏好指示了闹钟保持响铃直到用户点击小睡为止,在用户点击小睡时,其向当前时间(7:01)增加5分钟,写下下一个闹铃时间(星期三7:06,50%)并且用户接着点击关闭。这时,闹钟写下下一个闹铃是(星期四7:00,50%)。
当天气app被安装(并且被配置用于本地区域)时,用户可以将其编程以使得如果下雨,则闹铃早15分钟响铃。在该场景中,天气服务将定期检查以查看闹铃是否将在30分钟内响铃。如果是,则天气服务将写:下一个闹铃时间(星期四6:45,置信度=60%)。在星期四早上,智能引擎将认为在同一时间窗口中存在竞争的相关闹铃时间,并且其将挑选具有更高置信度的app。此时的动作仍然是相同的(播放铃声),因此唤醒的动作是相同的。
当灯光app被安装时,用户可以指定灯光要在闹铃的20分钟前打开。因此在星期一,例如,灯光app可以调用以下的API:
下一个闹铃动作(App=2,动作=3(例如,打开柔和的灯光),偏好=80%,类型=环境,时间差=-20分钟)
接着,IPDES服务进行两个决策:(1)要将下一个事件(例如,唤醒)安排在何时,以及(2)应该采取什么动作以及何时(相对于事件安排时间)采取。假定天气晴朗,闹铃时间将是早上7:00。然而,决策引擎认为灯光app必须在早上6:40被调用。其还认为铃声应当在早上7:00被播放。
该简化的操作场景示出了各种概念。首先,智能可插入服务(IPDES)包括一组网络/互联网连接的app以及IPDES中的一组API,所述API可以被上述应用调用以指定要采取的动作以及将这些动作安排在何时。其次,一旦针对给定的时间段采取了动作(假如闹铃在早上响铃),则针对下一时段重新设置动作(例如,将第二天的闹铃进行设置)。
此外,如上文所讨论的,系统还可以包括反馈环路。IoT设备可以在设备上具有中止按钮,当该中止按钮被按下时可以通知IPDES服务刚刚采取的动作是不期望的(例如,灯光被过早打开)。这进而会降低未来针对该同一动作的偏好评价。此外,所述数据可以与其他用户共享并且可以影响app商店评价等。
在附图中所提供的功能框图、操作场景和序列以及流程图代表用于执行本公开的新颖方面的示例性系统、环境和方法。尽管出于解释的简单的目的,在本文中所包括的方法可以是功能图、操作场景或序列、或者流程图的形式,并且可以被描述为一系列的动作,但是要理解并意识到的是,所述方法不受到所述动作的顺序的限制,这是因为一些动作据此可以以不同顺序发生和/或与在本文中所示出和描述的其他动作同时发生。例如,本领域技术人员将理解并意识到的是,方法可以例如在状态图中可替代地被表示为一系列相互关联的状态或事件。此外,不是在方法中所示出的所有的操作都针对新颖的实现而被需要。
所包括的描述和图描绘了具体的实现以教导本领域技术人员如何制作和使用最佳选项。出于教导发明性原理的目的,已经简化或省略了一些传统的方面。本领域技术人员将从落在本发明的范围内的这些实现中理解变型。本领域技术人员还将理解的是,可以以各种方法组合在上文中所描述的特征以形成多个实现。作为结果,本发明不限于在上文中所描述的具体的实现,而是仅由示例及其等价物所限制。

Claims (13)

1.一种对决策服务进行操作的方法,所述决策服务用于在于一个或多个应用平台上执行的多个隔离的应用之间共享应用数据,所述方法包括:
监视与事件相对应的用户提供的事件配置信息,其中,所述事件配置信息包括事件设置,所述事件设置标识要由一个或多个消费者应用执行的一个或多个动作以及对所述一个或多个动作要在何时被执行进行指示的定时信息;
监视由与所述事件相关联的一个或多个生产者应用所提供的应用数据馈送;
基于所述应用数据馈送中的一个或多个应用数据馈送来检测事件重新配置触发;
响应于所述事件重新配置触发,由所述决策服务的预测性分析引擎来自动地修改所述事件配置信息;以及
引导所述一个或多个应用平台中的至少一个应用平台调用所述一个或多个消费者应用中的至少一个消费者应用,以至少部分地基于经修改的事件配置信息来执行所述一个或多个动作中的至少一个动作,
其中,修改所述事件配置信息包括:
基于所述应用数据馈送中的所述一个或多个应用数据馈送的内容来生成所述事件的另外的事件设置;
计算与所述另外的事件设置相关联的置信度水平;
计算与所述事件设置相关联的置信度水平;
确定所述事件配置信息包括多个事件设置,所述多个事件设置中的每个事件设置标识要在一时间窗口内执行的同一动作;以及
使用与所述多个事件设置中的每个事件设置相关联的置信度水平来从所述多个事件设置中选择事件设置。
2.根据权利要求1所述的方法,还包括:
由数据共享平台接收要设置与所述事件相关联的所述事件配置信息的请求,其中,所述请求包括唯一平台标识符;
使用所述唯一平台标识符来识别已经向所述数据共享平台进行了注册的一组相关的应用;以及
过滤所述一组相关的应用以识别与所述一个或多个消费者应用相兼容的生产者应用。
3.根据权利要求2所述的方法,其中,过滤所述一组相关的应用以识别与所述一个或多个消费者应用相兼容的所述生产者应用包括:
识别所述一个或多个消费者应用中的特定消费者应用的输入能力;
使用所述唯一平台标识符来识别已经向所述数据共享平台进行了注册的所述一组相关的应用的输出能力;以及
选择具有与所述特定消费者应用的所述输入能力相匹配的输出能力的应用。
4.根据权利要求3所述的方法,其中,选择具有与所述特定消费者应用的所述输入能力相匹配的输出能力的所述应用还包括:
识别所述数据共享平台的当前版本;以及
确保所选择的应用是由所述平台的所述当前版本所支持的。
5.根据权利要求2所述的方法,还包括:
将与所述一个或多个消费者应用相兼容的所述生产者应用提供至配置应用;
从所述配置应用接收响应,其中,所述响应包括指示与所述事件相关联的所述一个或多个生产者应用的选择。
6.根据权利要求1所述的方法,还包括:
确定具有最高置信度水平的事件设置超过阈值;以及
如果所述具有最高置信度水平的事件设置超过所述阈值,则选择所述具有最高置信度水平的事件设置。
7.根据权利要求1所述的方法,其中,所述一个或多个消费者应用或者所述一个或多个生产者应用中的至少一个包括物联网(IoT)设备。
8.根据权利要求1所述的方法,其中,所述预测性分析引擎保存用于确定如何修改所述事件配置信息的一个或多个机器学习模型。
9.根据权利要求8所述的方法,还包括:
响应于调用所述一个或多个消费者应用以执行所述一个或多个动作,接收由所述一个或多个消费者应用中的至少一个消费者应用所生成的反馈;
基于所述反馈来调整所述预测性分析引擎的所述一个或多个机器学习模型。
10.一种应用数据共享平台,包括:
一个或多个计算机可读存储介质;
处理系统,其可操作地与所述一个或多个计算机可读存储介质耦合;以及
决策服务,其用于在于一个或多个应用平台上执行的多个隔离的应用之间共享应用数据,其被存储在所述一个或多个计算机可读存储介质上并且包括程序指令,所述程序指令当由所述处理系统执行时,引导所述处理系统进行以下操作:
监视与事件相对应的用户提供的事件配置信息,其中,所述事件配置信息包括事件设置,所述事件设置标识要由一个或多个消费者应用执行的一个或多个动作以及对所述一个或多个动作要在何时被执行进行指示的定时信息;
监视由与所述事件相关联的一个或多个生产者应用所提供的应用数据馈送;
基于所述应用数据馈送中的一个或多个应用数据馈送来检测事件重新配置触发;
响应于所述事件重新配置触发,由所述决策服务的预测性分析引擎来自动地修改所述事件配置信息;以及
引导所述一个或多个应用平台中的至少一个应用平台调用所述一个或多个消费者应用中的至少一个消费者应用,以至少部分地基于经修改的事件配置信息来执行所述一个或多个动作中的至少一个动作,
其中,自动地修改所述事件配置信息包括:
基于所述应用数据馈送中的所述一个或多个应用数据馈送的内容来生成所述事件的另外的事件设置;
计算与所述另外的事件设置相关联的置信度水平;以及
其中,所述程序指令当由所述处理系统执行时,还引导所述处理系统进行以下操作:
计算与所述事件设置相关联的置信度水平;
确定所述事件配置信息包括多个事件设置,所述多个事件设置中的每个事件设置标识要在一时间窗口内执行的同一动作;以及
使用与所述多个事件设置中的每个事件设置相关联的置信度水平来从所述多个事件设置中选择事件设置。
11.根据权利要求10所述的应用数据共享平台,其中,所述程序指令当由所述处理系统执行时,还引导所述处理系统进行以下操作:
处理要设置与所述事件相关联的所述事件配置信息的请求,其中,所述请求包括唯一平台标识符;
使用所述唯一平台标识符来识别已经向所述数据共享平台进行了注册的一组相关的应用;以及
过滤所述一组相关的应用以识别与所述一个或多个消费者应用相兼容的生产者应用。
12.根据权利要求11所述的应用数据共享平台,其中,为了过滤所述一组相关的应用以识别与所述一个或多个消费者应用相兼容的生产者应用,所述指令当由所述处理系统执行时,还引导所述处理系统进行以下操作:
识别所述一个或多个消费者应用中的特定消费者应用的输入能力;
使用所述唯一平台标识符来识别已经向所述数据共享平台进行了注册的所述一组相关的应用的输出能力;以及
选择具有与所述特定消费者应用的所述输入能力相匹配的输出能力的应用。
13.根据权利要求10所述的应用数据共享平台,其中,从所述多个事件设置中选择事件设置包括:
选择具有最高置信度水平的事件设置。
CN201780057504.9A 2016-09-19 2017-09-13 应用数据共享和决策服务平台 Active CN109716736B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210905655.8A CN115242867A (zh) 2016-09-19 2017-09-13 应用数据共享和决策服务平台

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/268,912 US9778964B1 (en) 2016-09-19 2016-09-19 Application data sharing and decision service platform
US15/268,912 2016-09-19
PCT/US2017/051236 WO2018052913A1 (en) 2016-09-19 2017-09-13 Application data sharing and decision service platform

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202210905655.8A Division CN115242867A (zh) 2016-09-19 2017-09-13 应用数据共享和决策服务平台

Publications (2)

Publication Number Publication Date
CN109716736A CN109716736A (zh) 2019-05-03
CN109716736B true CN109716736B (zh) 2022-07-26

Family

ID=59929258

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210905655.8A Pending CN115242867A (zh) 2016-09-19 2017-09-13 应用数据共享和决策服务平台
CN201780057504.9A Active CN109716736B (zh) 2016-09-19 2017-09-13 应用数据共享和决策服务平台

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202210905655.8A Pending CN115242867A (zh) 2016-09-19 2017-09-13 应用数据共享和决策服务平台

Country Status (4)

Country Link
US (2) US9778964B1 (zh)
EP (1) EP3516846B1 (zh)
CN (2) CN115242867A (zh)
WO (1) WO2018052913A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409786B2 (en) 2016-09-19 2019-09-10 Microsoft Technology Licensing, Llc Deployment of applications confirming to application data sharing and decision service platform schema
US9778964B1 (en) 2016-09-19 2017-10-03 Microsoft Technology Licensing, Llc Application data sharing and decision service platform
US10715603B2 (en) * 2016-09-19 2020-07-14 Microsoft Technology Licensing, Llc Systems and methods for sharing application data between isolated applications executing on one or more application platforms
US10191911B2 (en) * 2017-05-27 2019-01-29 Plesk International Gmbh Permanent website hosting on mobile devices
US10901728B1 (en) 2018-01-02 2021-01-26 Sentry Insurance a Mutual Company Enhancing DevOps workflows in enterprise information technology organizations
WO2021050269A1 (en) * 2019-09-10 2021-03-18 Arris Enterprises Llc User interface for configuring device-specific iot applications
US20220374301A1 (en) * 2019-10-30 2022-11-24 Servicenow Canada Inc. System and method for operating an event-driven architecture
WO2022043769A1 (en) * 2020-08-31 2022-03-03 Google Llc Systems and methods for dynamic data propagation across platforms

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096857A (zh) * 2010-12-27 2011-06-15 大唐软件技术股份有限公司 一种数据处理过程的协同方法和装置
CN103888527A (zh) * 2014-03-13 2014-06-25 小米科技有限责任公司 数据共享方法和装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519814B2 (en) 2003-09-15 2009-04-14 Trigence Corp. System for containerization of application sets
US7933926B2 (en) 2004-01-09 2011-04-26 Sap Aktiengesellschaft User feedback system
US7571444B2 (en) * 2004-03-25 2009-08-04 International Business Machines Corporation Method, system and program product for managing events
US7546582B2 (en) * 2005-03-30 2009-06-09 International Business Machines Corporation Managing dynamic configuration data for producer components in a computer infrastructure
US8495578B2 (en) 2005-12-19 2013-07-23 International Business Machines Corporation Integrated software development system, method for validation, computer arrangement and computer program product
WO2008042984A2 (en) 2006-10-03 2008-04-10 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
CN102238573A (zh) 2010-04-30 2011-11-09 中兴通讯股份有限公司 一种m2m业务的架构及实现m2m业务的方法
WO2011160139A1 (en) 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US9215548B2 (en) 2010-09-22 2015-12-15 Ncc Group Security Services, Inc. Methods and systems for rating privacy risk of applications for smart phones and other mobile platforms
US9288270B1 (en) 2011-04-22 2016-03-15 Angel A. Penilla Systems for learning user preferences and generating recommendations to make settings at connected vehicles and interfacing with cloud systems
US8954732B1 (en) 2012-06-27 2015-02-10 Juniper Networks, Inc. Authenticating third-party programs for platforms
KR101558236B1 (ko) 2012-10-16 2015-10-12 전자부품연구원 IoT 브라우징 방법 및 장치
CN103218220A (zh) 2013-02-25 2013-07-24 上海谐宇网络科技有限公司 基于动态可插拔组件的物联网中间件系统
US9292832B2 (en) 2013-02-25 2016-03-22 Qualcomm Incorporated Collaborative intelligence and decision-making in an IoT device group
US10684899B2 (en) 2013-03-13 2020-06-16 Northrop Grumman Systems Corporation Mobile applications architecture
US10182661B2 (en) 2013-03-14 2019-01-22 Sleep Number Corporation and Select Comfort Retail Corporation Inflatable air mattress alert and monitoring system
US10628136B2 (en) 2013-05-24 2020-04-21 Tata Consultancy Services Limited Internet of things (IoT) application development
KR20180057740A (ko) 2013-08-29 2018-05-30 콘비다 와이어리스, 엘엘씨 사물 인터넷 이벤트 관리 시스템 및 방법
US9690575B2 (en) 2014-01-17 2017-06-27 Fair Isaac Corporation Cloud-based decision management platform
KR101453364B1 (ko) 2014-04-15 2014-10-22 주식회사 스마티랩 사물인터넷 환경에서 디바이스의 동적 식별 시스템 및 그 방법
KR101535813B1 (ko) * 2014-10-17 2015-07-10 한국과학기술정보연구원 복합 이벤트 처리를 위한 이벤트 구성 규칙의 동적 업데이트를 위한 시스템 및 방법
US9489247B2 (en) 2015-02-17 2016-11-08 Amazon Technologies, Inc. Context sensitive framework for providing data from relevant applications
CN104865837A (zh) 2015-05-29 2015-08-26 北京东方海岸物联网科技有限责任公司 一种基于物联网的新型智能家居监控系统
US20160381163A1 (en) * 2015-06-25 2016-12-29 Friends with Inspirations Ltd. Shared experience and multi-device hardware platform
US10409786B2 (en) 2016-09-19 2019-09-10 Microsoft Technology Licensing, Llc Deployment of applications confirming to application data sharing and decision service platform schema
US9778964B1 (en) 2016-09-19 2017-10-03 Microsoft Technology Licensing, Llc Application data sharing and decision service platform
US10715603B2 (en) 2016-09-19 2020-07-14 Microsoft Technology Licensing, Llc Systems and methods for sharing application data between isolated applications executing on one or more application platforms

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102096857A (zh) * 2010-12-27 2011-06-15 大唐软件技术股份有限公司 一种数据处理过程的协同方法和装置
CN103888527A (zh) * 2014-03-13 2014-06-25 小米科技有限责任公司 数据共享方法和装置

Also Published As

Publication number Publication date
WO2018052913A1 (en) 2018-03-22
CN109716736A (zh) 2019-05-03
US10372514B2 (en) 2019-08-06
CN115242867A (zh) 2022-10-25
US9778964B1 (en) 2017-10-03
EP3516846B1 (en) 2022-09-21
EP3516846A1 (en) 2019-07-31
US20180081743A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN109716736B (zh) 应用数据共享和决策服务平台
CN109716735B (zh) 用于在于一个或多个应用平台上执行的隔离的应用之间共享应用数据的系统和方法
US11663175B2 (en) Deployment of applications conforming to application data sharing and decision service platform schema
CN113110941B (zh) 使用应用容器管理代码和依赖性数据的传递
US20200169620A1 (en) Remotely managing application settings using hash value comparison
JP5718525B2 (ja) マルチモーダルコンピューティングデバイス
US9542172B2 (en) Automatic updating of applications
US10416843B2 (en) Electronic device and method of controlling object in electronic device
US20160203415A1 (en) User interaction pattern extraction for device personalization
AU2015340172A1 (en) Electronic device and method of controlling power of electronic device
US10198326B2 (en) Intelligent restoration of a computing device
KR20170033121A (ko) 서비스 처리 방법 및 이를 구현하는 전자 장치
TW201826102A (zh) 應用運行方法及裝置
CN112905337A (zh) 软硬件混合部署的MySQL集群调度方法及装置
US20230117081A1 (en) Providing a user-centric application
US9906398B1 (en) Remote management of device settings
US20200076938A1 (en) Method and system for managing accessory application of accessory device by companion device
US11968090B2 (en) Dynamic installation of mobile application modules
WO2022268057A1 (en) Self orchestrated containers for cloud computing
WO2022052758A1 (zh) 配网方法及设备
US20220014565A1 (en) Bypassing security vulnerable and anomalous devices in multi-device workflow
CN115391018A (zh) 任务调度方法、装置和设备

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
GR01 Patent grant
GR01 Patent grant