CN109716331A - 符合应用程序数据共享和决策服务平台模式的应用程序部署 - Google Patents

符合应用程序数据共享和决策服务平台模式的应用程序部署 Download PDF

Info

Publication number
CN109716331A
CN109716331A CN201780057497.2A CN201780057497A CN109716331A CN 109716331 A CN109716331 A CN 109716331A CN 201780057497 A CN201780057497 A CN 201780057497A CN 109716331 A CN109716331 A CN 109716331A
Authority
CN
China
Prior art keywords
application
platform
application program
party application
data
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.)
Granted
Application number
CN201780057497.2A
Other languages
English (en)
Other versions
CN109716331B (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
Publication of CN109716331A publication Critical patent/CN109716331A/zh
Application granted granted Critical
Publication of CN109716331B publication Critical patent/CN109716331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • G06F16/212Schema design and management with details for data modelling support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

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

Description

符合应用程序数据共享和决策服务平台模式的应用程序部署
背景技术
物联网(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)应用服务器上找到的Enterprise JavaBean(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和其他计算系统(未示出)之间的通信可以在一个或多个通信网络上并且根据各种通信协议、协议组合或其变体发生。示例包括内联网、互联网、因特网、局域网、广域网、无线网络、有线网络、虚拟网络、软件定义网络、数据中心总线、计算背板或任何其他类型的网络、网络组合或它们的变体。上述通信网络和协议是众所周知的,这里不需要详细讨论。在交换数据、内容或任何其他类型的信息的任何上述示例中,信息的交换可以根据各种众所周知的数据传输协议中的任何一种进行。
附图中提供的功能框图、操作方案和序列以及流程图表示用于执行本公开的新颖方面的示例性系统、环境和方法。虽然为了简化说明的目的,这里包括的方法可以是功能图、操作场景或序列或流程图的形式,并且可以被描述为一系列动作,应该理解和意识到,方法不受动作顺序的限制,因为根据此,一些动作可以以不同的顺序发生和/或与本文所示和所述的其他动作同时发生。例如,本领域技术人员将理解并意识到,方法可以替代地表示为一系列相互关联的状态或事件,例如在状态图中。此外,并非所有方法中所示的行为都可能是新颖实现方式所必需的。
本文包括的描述和附图描绘了教导本领域技术人员如何制作和使用最佳选项的具体实现方式。出于教导发明原理的目的,已经简化或省略了一些传统方面。本领域技术人员将理解落入本发明范围内的这些实施方式的变型。本领域技术人员还将意识到,上述特征可以以各种方式组合以形成多个实现方式。结果,本发明不限于上述具体实现方式,而是仅由权利要求及其等同物限制。

Claims (15)

1.一种用于部署符合平台模式的应用程序以促进在一个或多个应用程序平台上执行的隔离的应用程序之间共享应用程序数据的方法,所述方法包括:
接收向应用程序部署系统提交第三方应用程序的请求,
其中,所述请求标识与所述第三方应用程序相关联的平台模式和平台能力信息;
响应于接收到所述请求,识别与所述平台模式相关联的验证清单,所述验证清单包括一组预定义的验证检查;以及
通过执行所述一组验证检查来自动核验所述第三方应用程序符合所述平台模式。
2.如权利要求1所述的方法,其中,所述平台能力信息包括一个或多个注册的输入数据馈送或输出数据馈送。
3.如权利要求2所述的方法,其中,所述一组预定义的验证检查确认所述一个或多个注册的输入数据馈送或输出数据馈送符合预期的方案。
4.如权利要求1所述的方法,还包括:
一旦所述第三方应用程序被核验为符合所述平台模式,则识别与所述第三方应用程序相关联的唯一应用程序标识符;以及
将与所述第三方应用程序相关联的所述应用程序标识符和所述平台能力信息提供给应用程序数据共享和决策服务。
5.如权利要求1所述的方法,其中,所述验证清单是基于与提交所述第三方应用程序的所述请求包括在一起的模式标识符来识别的。
6.如权利要求1所述的方法,还包括:
一旦所述第三方应用程序被核验为符合所述平台模式,将所述第三方应用程序发布到所述应用程序部署系统的下载门户。
7.如权利要求1所述的方法,还包括:
从服务提供商接收所述平台模式,所述平台模式包括软件开发工具包(SDK);以及
将所述平台模式发布到所述应用程序部署系统的下载门户。
8.如权利要求1所述的方法,还包括:
聚合与所述第三方应用程序相关联的遥测数据;
向第三方应用程序开发者提供指示聚合的遥测数据的反馈环。
9.如权利要求8所述的方法,还包括:
处理所述聚合的遥测数据以生成应用程序分组建议。
10.一种装置,包括:
一个或多个计算机可读存储介质;
处理系统,可操作地与所述一个或多个计算机可读存储介质耦合;以及
存储在所述一个或多个计算机可读存储介质上用于促进通信交换环境的程序指令,当由所述处理系统执行时,所述程序指令指导所述处理系统至少进行以下操作:
处理接收到的将第三方应用程序提交给应用程序部署系统的请求,
其中,所述请求标识与所述第三方应用程序相关联的平台模式和平台能力信息;
基于与提交所述第三方应用程序的所述请求包括在一起的模式标识符,识别与所述平台模式相关联的验证清单,
其中,所述验证清单包括一组预定义的验证检查;以及
通过执行所述一组验证检查来自动核验所述第三方应用程序符合所述平台模式。
11.如权利要求10所述的装置,其中,所述平台能力信息包括一个或多个注册的输入数据馈送或输出数据馈送,并且其中,所述一组预定义的验证检查确认所述一个或多个注册的输入数据馈送或输出数据馈送符合预期方案。
12.如权利要求10所述的装置,其中,所述指令在由所述处理系统执行时进一步指导所述处理系统:
一旦所述第三方应用程序被核验为符合所述平台模式,则生成与所述第三方应用程序相关联的唯一应用程序标识符;
向应用程序数据共享和决策服务提供与所述第三方应用程序相关联的所述应用程序标识符和所述平台能力信息;以及
将所述第三方应用程序发布到所述应用程序部署系统的下载门户。
13.如权利要求10所述的装置,其中,所述指令在由所述处理系统执行时进一步指导所述处理系统:
处理从服务提供商接收的平台模式,所述平台模式包括软件开发工具包(SDK);
将所述平台模式发布到所述应用程序部署系统的下载门户;以及
响应于接收到下载所述平台模式的请求,将所述平台模式提供给第三方应用程序开发者。
14.如权利要求10所述的装置,其中,所述指令在由所述处理系统执行时进一步指导所述处理系统:
聚合与所述第三方应用程序相关联的遥测数据;
向第三方应用程序开发者提供指示聚合的遥测数据的反馈环。
15.如权利要求10所述的装置,其中,所述指令在由所述处理系统执行时进一步指导所述处理系统:
处理聚合的遥测数据以生成应用程序分组建议。
CN201780057497.2A 2016-09-19 2017-09-13 符合应用程序数据共享和决策服务平台模式的应用程序部署 Active CN109716331B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/268,930 2016-09-19
US15/268,930 US10409786B2 (en) 2016-09-19 2016-09-19 Deployment of applications confirming to application data sharing and decision service platform schema
PCT/US2017/051237 WO2018052914A1 (en) 2016-09-19 2017-09-13 Deployment of applications conforming to application data sharing and decision service platform schema

Publications (2)

Publication Number Publication Date
CN109716331A true CN109716331A (zh) 2019-05-03
CN109716331B CN109716331B (zh) 2023-09-12

Family

ID=59966858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780057497.2A Active CN109716331B (zh) 2016-09-19 2017-09-13 符合应用程序数据共享和决策服务平台模式的应用程序部署

Country Status (4)

Country Link
US (2) US10409786B2 (zh)
EP (1) EP3516847B1 (zh)
CN (1) CN109716331B (zh)
WO (1) WO2018052914A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414938A (zh) * 2019-07-30 2019-11-05 北京飞利信电子技术有限公司 一种基于物联网平台组态化构建的追溯源系统及方法
CN110719284A (zh) * 2019-10-08 2020-01-21 腾讯科技(深圳)有限公司 一种数据共享方法及相关设备

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US10521220B1 (en) * 2018-12-18 2019-12-31 Palantir Technologies Inc. Systems and methods for coordinating the deployment of components to defined user groups
US11018931B2 (en) 2019-01-15 2021-05-25 Vmware, Inc. Data driven user interface for configuring device settings
US11562136B2 (en) 2019-06-11 2023-01-24 International Business Machines Corporation Detecting programming language deficiencies cognitively
CN110798490B (zh) * 2020-01-06 2020-04-21 广州欧赛斯信息科技有限公司 基于数据中台接入第三方系统的方法、装置及数据中台
US11074058B1 (en) * 2020-06-30 2021-07-27 Microsoft Technology Licensing, Llc Deployment operations based on deployment profiles in a deployment system
US20220150073A1 (en) * 2020-11-09 2022-05-12 International Business Machines Corporation Blockchain based verifiabilty of user status
US20220413843A1 (en) * 2021-06-28 2022-12-29 Microsoft Technology Licensing, Llc Combining model-driven applications and canvas-type applications with application lifecycle management
US20230300218A1 (en) * 2022-03-16 2023-09-21 Cisco Technology, Inc. Dynamic Hashing Framework for Synchronization Between Network Telemetry Producers and Consumers
CN116993307B (zh) * 2023-09-28 2024-01-05 广东省信息工程有限公司 一种具有人工智能学习能力的协同办公方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060722A1 (en) * 2003-09-15 2005-03-17 Trigence Corp. System for containerization of application sets
WO2008042984A2 (en) * 2006-10-03 2008-04-10 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
CN101647010A (zh) * 2007-03-30 2010-02-10 微软公司 在应用程序之间共享信息的技术
US20110314389A1 (en) * 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US20120036552A1 (en) * 2008-12-19 2012-02-09 Openpeak Inc. System for managing devices and method of operation of same
CN102449597A (zh) * 2009-05-29 2012-05-09 甲骨文美国公司 Java商店
US20140095692A1 (en) * 2012-09-28 2014-04-03 Viacom International Inc. Tracking Usage of and Sharing Data Between Mobile Device Applications
US20150135160A1 (en) * 2012-05-01 2015-05-14 Simon Gauvin System and method for providing an application development and distribution social platform
CN104838630A (zh) * 2012-10-10 2015-08-12 思杰系统有限公司 基于策略的应用程序管理
CN105554087A (zh) * 2015-12-10 2016-05-04 小米科技有限责任公司 信息设置方法及装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742823A (en) * 1996-01-17 1998-04-21 Nathen P. Edwards Total object processing system and method with assembly line features and certification of results
US20030182563A1 (en) * 2002-03-22 2003-09-25 Liu James C. Method and apparatus for software license verification
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
US7970823B2 (en) 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
KR100616157B1 (ko) 2005-01-11 2006-08-28 와이더댄 주식회사 애플리케이션 연동 방법 및 그 시스템
US7546582B2 (en) 2005-03-30 2009-06-09 International Business Machines Corporation Managing dynamic configuration data for producer components in a computer infrastructure
US7480768B2 (en) 2005-09-30 2009-01-20 Intel Corporation Apparatus, systems and methods to reduce access to shared data storage
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
CN102238573A (zh) 2010-04-30 2011-11-09 中兴通讯股份有限公司 一种m2m业务的架构及实现m2m业务的方法
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
US9489437B2 (en) * 2010-09-30 2016-11-08 Teradata Us, Inc. Master data management database asset as a web service
CN102096857B (zh) 2010-12-27 2013-05-29 大唐软件技术股份有限公司 一种数据处理过程的协同方法和装置
US20120209839A1 (en) 2011-02-15 2012-08-16 Microsoft Corporation Providing applications with personalized and contextually relevant content
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
US8635673B2 (en) 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US8954732B1 (en) * 2012-06-27 2015-02-10 Juniper Networks, Inc. Authenticating third-party programs for platforms
US8813028B2 (en) * 2012-07-19 2014-08-19 Arshad Farooqi Mobile application creation system
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
WO2014151707A1 (en) 2013-03-14 2014-09-25 Nunn Rob 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
EP2816472A1 (en) * 2013-06-19 2014-12-24 British Telecommunications public limited company Model based enforcement of software compliance
EP3832989A1 (en) 2013-08-29 2021-06-09 Convida Wireless, LLC Internet of things event management systems and methods
US10484189B2 (en) 2013-11-13 2019-11-19 Microsoft Technology Licensing, Llc Enhanced collaboration services
EP3095031B1 (en) 2014-01-17 2021-09-15 Fair Isaac Corporation Cloud-based decision management platform
CN103888527B (zh) 2014-03-13 2017-11-07 小米科技有限责任公司 数据共享方法和装置
US9645980B1 (en) * 2014-03-19 2017-05-09 Google Inc. Verification of native applications for indexing
KR101453364B1 (ko) 2014-04-15 2014-10-22 주식회사 스마티랩 사물인터넷 환경에서 디바이스의 동적 식별 시스템 및 그 방법
WO2015189257A1 (en) 2014-06-12 2015-12-17 Bee7000 Limited Communication of reward data between applications
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
US10282273B1 (en) * 2015-08-06 2019-05-07 Mesosphere, Inc. Application monitoring using workload metadata
US20180316768A1 (en) * 2015-08-28 2018-11-01 Google Inc. Sharing device capabilities between devices
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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060722A1 (en) * 2003-09-15 2005-03-17 Trigence Corp. System for containerization of application sets
WO2008042984A2 (en) * 2006-10-03 2008-04-10 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
CN101647010A (zh) * 2007-03-30 2010-02-10 微软公司 在应用程序之间共享信息的技术
US20120036552A1 (en) * 2008-12-19 2012-02-09 Openpeak Inc. System for managing devices and method of operation of same
CN102449597A (zh) * 2009-05-29 2012-05-09 甲骨文美国公司 Java商店
US20110314389A1 (en) * 2010-06-18 2011-12-22 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US20150135160A1 (en) * 2012-05-01 2015-05-14 Simon Gauvin System and method for providing an application development and distribution social platform
US20140095692A1 (en) * 2012-09-28 2014-04-03 Viacom International Inc. Tracking Usage of and Sharing Data Between Mobile Device Applications
CN104838630A (zh) * 2012-10-10 2015-08-12 思杰系统有限公司 基于策略的应用程序管理
CN105554087A (zh) * 2015-12-10 2016-05-04 小米科技有限责任公司 信息设置方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110414938A (zh) * 2019-07-30 2019-11-05 北京飞利信电子技术有限公司 一种基于物联网平台组态化构建的追溯源系统及方法
CN110719284A (zh) * 2019-10-08 2020-01-21 腾讯科技(深圳)有限公司 一种数据共享方法及相关设备

Also Published As

Publication number Publication date
US11663175B2 (en) 2023-05-30
US20190384749A1 (en) 2019-12-19
EP3516847A1 (en) 2019-07-31
WO2018052914A1 (en) 2018-03-22
EP3516847B1 (en) 2020-09-16
CN109716331B (zh) 2023-09-12
US10409786B2 (en) 2019-09-10
US20180081911A1 (en) 2018-03-22

Similar Documents

Publication Publication Date Title
CN109716331A (zh) 符合应用程序数据共享和决策服务平台模式的应用程序部署
US10269011B2 (en) Configuring a plurality of security isolated wallet containers on a single mobile device
US10558963B2 (en) Shareable widget interface to mobile wallet functions
US20190266604A1 (en) Configuring a plurality of security isolated wallet containers on a single mobile device
US10032160B2 (en) Isolating distinct service provider widgets within a wallet container
CN109716736A (zh) 应用数据共享和决策服务平台
CN109716735A (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