CN108431768A - 应用特征的受控部署 - Google Patents

应用特征的受控部署 Download PDF

Info

Publication number
CN108431768A
CN108431768A CN201680077221.6A CN201680077221A CN108431768A CN 108431768 A CN108431768 A CN 108431768A CN 201680077221 A CN201680077221 A CN 201680077221A CN 108431768 A CN108431768 A CN 108431768A
Authority
CN
China
Prior art keywords
tenant
feature
mobile application
group
identification
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
CN201680077221.6A
Other languages
English (en)
Other versions
CN108431768B (zh
Inventor
A·乔杜里
Q·蒋
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 CN108431768A publication Critical patent/CN108431768A/zh
Application granted granted Critical
Publication of CN108431768B publication Critical patent/CN108431768B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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

Abstract

提供应用特征的受控部署。部署服务通过从开发者接收移动应用的特征和移动应用的租户组的定义来启动操作以控制应用特征的部署。该定义用于允许与该租户组相关联的移动应用激活该特征。接下来,从移动应用接收租户标识。将租户标识与租户组进行比较,以检测租户标识在租户组内。作为响应,向与租户标识相关联的移动应用发送指令以激活该特征。

Description

应用特征的受控部署
背景技术
人们通过用户接口与计算机应用交互。虽然音频、触觉和类似形式的用户接口可用,但通过显示设备的可视用户接口是用户接口最常见的形式。随着用于计算设备的更快和更小的电子设备的发展,诸如手持式计算机、智能电话、平板电脑设备和类似设备等较小尺寸的设备已经变得普遍。这些器件执行从通信应用到复杂分析工具等各种应用。许多此类应用会经常更新,其中特征很少被测试。
大量的特征请求和特征部署使稳定的应用部署变得复杂。实际上,应用的更新、更改和/或添加会导致开发人员维护困难。在维护应用的同时,开发人员面对的另一层复杂问题包括应用消费者关联的特征请求。具有多个特征请求和大量应用的复杂性可能会导致对引入新特征时出现的问题管理不善。
发明内容
提供本发明内容是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本发明内容并非旨在排他地确定所要求保护的主题的关键特征或基本特征,也不旨在帮助确定所要求保护的主题的范围。
实施例涉及应用特征的受控部署。在一些示例中,部署服务可以从开发者接收移动应用的特征和移动应用的租户组的定义。部署服务还可以从移动应用接收租户标识。接下来,可以在该租户组内检测到租户标识。作为响应,可以将指令发送到与租户标识相关联的移动应用以激活该特征。
通过阅读以下详细描述和查看相关附图,这些和其他特征和优点将变得显而易见。应该理解,前面的一般描述和下面的详细描述都是解释性的,并不限制所要求保护的方面。
附图说明
图1是图示根据实施例的提供应用特征的受控部署的示例的概念图;
图2是示出根据实施例的提供应用特征的受控部署的方案的示例的显示图;
图3是示出根据实施例的提供应用特征的受控部署的方案的另一示例的显示图;
图4是示出根据实施例的激活反馈方案以提供应用特征的受控部署的显示图;
图5是简化的网络环境,其中可以实现根据实施例的系统;
图6是根据实施例的可用于提供应用特征的受控部署的示例计算设备的框图;并且
图7是示出根据实施例的用于提供应用特征的受控部署的过程的逻辑流程图。
具体实施方式
如上所简要描述的,部署服务提供应用特征的受控部署。在示例场景中,部署服务可以从开发者接收移动应用的特征和移动应用的租户组的定义。该定义可以用于允许与该租户组相关联的移动应用激活该特征。特征可以包括移动应用现有组件、新组件和/或反馈组件,以及其他组件。接下来,可以从移动应用接收租户标识。租户标识可以包括与访问移动应用的租户相关联的唯一标识符。
租户标识可以与租户组进行比较,以将租户标识检测为在租户组内。租户组可包括被分类为测试该特征、和/或使用该特征等等的租户库的子集。接下来,可以将指令发送到与租户标识相关联的移动应用以激活该特征。
在下面的详细描述中,参考形成其一部分的附图,并且其中通过图示、具体实施例或示例的方式示出。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开的精神或范围的情况下进行结构改变。因此,以下详细描述不应被视为具有限制意义,并且本发明的范围由所附权利要求及其等同物限定。
虽然与在个人计算机上的操作系统上运行的应用程序相联合地执行的程序模块的总的背景下描述一些实施例,但是本领域技术人员将理解各方面可以与其它程序模块相结合地实现。
一般地,程序模块包括例程、程序、组件、数据结构以及执行特定任务或实现特定抽象数据类型的其它类型的结构。而且,本领域技术人员将意识到,实施例可以通过包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、微型计算机、大型计算机和类似的计算设备在内的其它计算机系统配置来实践。实施例还可以在通过通信网络链接的远程处理设备来执行任务的分布式计算环境中来实践。在分布式计算环境中,程序模块可以位于本地存储器存储设备或远程存储器存储设备中。
一些实施例可以实现为计算机实现过程(方法)、计算系统,或者实现为制造品,诸如计算机程序产品或计算机可读介质。计算机程序产品可以是能够由计算机系统来读取且对包含用于使计算机或计算系统执行示例过程的指令的计算机程序进行编码的计算机存储介质。计算机可读存储介质是物理计算机可读存储器设备。计算机可读存储介质可以例如经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪速驱动器、软盘或压缩盘和类似硬件介质中的一种或多种来实现。
在该说明书全篇中,术语“平台”可以是用于提供应用特征的受控部署的软件组件和硬件组件的组合。平台的示例包括但不限于在多个服务器上执行的托管的服务、在单个计算设备上执行的应用以及类似的系统。术语“服务器”一般是指通常在网络环境中执行一个或多个软件程序的计算设备。关于这些技术和示例操作的更多细节提供于下面。
这里使用的计算设备是指包括至少一个存储器和处理器的设备,包括台式计算机、膝上型计算机、平板电脑、智能电话、车载计算机或可穿戴计算机。存储器可以是计算设备的可移动或不可移动组件,其被配置为存储要由一个或多个处理器执行的一个或多个指令。处理器可以是耦合到存储器并且被配置为结合由存储器存储的指令执行程序的计算设备的组件。文件是与音频、视频或类似内容相关联的任何形式的结构化数据。操作系统是被配置为管理提供公共服务和应用的计算设备的硬件和软件组件的系统。集成模块是集成在应用或服务中的应用或服务的组件,使得应用或服务被配置为执行组件。计算机可读存储设备是经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或光盘中的一个或多个实现的物理计算机可读存储介质,以及其上包括关于自动将内容保存到位置的指令的类似硬件介质。用户体验——与用户通过其与应用或服务交互的应用或服务相关联的可视化显示。用户动作是指用户与应用的用户体验或者由服务提供的用户体验之间的交互,包括触摸输入、手势输入、语音命令、眼睛跟踪、陀螺仪输入、笔输入、鼠标输入和键盘输入中的一个。应用编程接口(API)可以是用于应用或服务的一组例程、协议和工具,其使应用或服务能够与由独立实体管理的一个或多个其他应用和服务交互或通信。
图1是图示根据实施例的提供应用特征的受控部署的示例的概念图。
在图100中,服务器108可以执行部署服务102。服务器108可以包括向客户端设备提供一个或多个服务的物理服务器。服务可以包括执行与客户端应用和/或订户等有关的操作的应用。服务器108可以包括和/或是工作站、数据仓库和/或数据中心等的一部分。
服务器108可以执行部署服务102以管理由移动应用103提供的特征。特征105的释放可以被控制以在部署到移动应用103的整个租户库之前测试特征105。移动应用103可以由客户端设备104呈现给租户110。开发者112可以向部署服务102提供定义以创建租户组和在移动应用103处激活的特征105。部署服务102可以将特征105与租户组相关联。
接下来,部署服务102可将租户110的租户标识与租户组进行比较以检测租户标识在租户组内。响应于检测到租户标识在租户组内,部署服务102可以向移动应用103发送指令以激活特征105供租户110消费。
服务器108可以通过网络与客户端设备104进行通信。网络可以提供诸如客户端设备104或服务器108等节点之间的有线或无线通信。控制在移动应用103处的特征的先前示例不以限制意义提供。可替代地,部署服务102可以控制在桌面应用、工作站应用和/或服务器应用等处的特征105的部署。移动应用103还可以包括部署服务102的客户端接口。
租户110可以利用基于键盘的输入、基于鼠标的输入、基于语音的输入、基于笔的输入以及基于手势的输入等与移动应用103交互。基于手势的输入可以包括一个或多个基于触摸的动作,诸如触摸动作、滑动动作以及各个动作的组合等等。
尽管图1中的示例系统已经用包括服务器108、部署服务102的特定组件来描述,实施例不限于这些组件或系统配置,并且可以利用采用更少或附加组件的其他系统配置来实现。
图2是示出根据实施例的提供应用特征的受控部署的方案的示例的显示图。
在图200中,服务器208可以提供部署服务202以允许开发者控制特征(205、207)到移动应用203的部署。特征(205、207)可以包括移动应用203的组件,诸如用户体验模块和/或反馈模块等。移动应用203可以在客户端设备处安装有特征(205、207)并且特征可以被激活和/或停用。
可选地,特征(205、207)可以在移动应用203在客户端设备处的初始安装之后通过更新操作来安装。通过更新操作安装的特征(205、207)可以被激活和/或停用。特征(205、207)的激活可以包括呈现与特征(205、207)相关联的用户接口或在移动应用203处启用与特征(205、207)相关联的操作。特征(205、207)的停用可以包括在移动应用203处隐藏与特征(205、207)相关联的用户接口或禁用与特征(205、207)相关联的操作。
例如,部署服务202可以从开发者接收租户组216以及要在移动应用203激活的特征205的定义。响应于客户端设备处的移动应用203的启动(或执行),部署服务202还可以从移动应用203接收租户标识212。接下来,可以将租户标识212与租户组216进行比较。响应于检测到租户标识212在租户组216内,可以将指令发送到移动应用203以激活特征205。
开发者可以选择交错部署特征205以在部署到移动应用203的整个租户库之前彻底地测试特征205。诸如租户组216的测试组可以由开发人员选择以尝试使用特征(205、207)。还可以指示移动应用203提供反馈特征以允许测试组评估特征205。反馈可以允许开发者识别特征205中的故障和/或错误并且在部署到移动应用的租户库之前解决特征的任何问题。
可替代地,部署服务202可以从开发者接收定义以将特征205部署到租户组216的百分比。在从开发者接收到在移动应用203中激活特征205的请求之后,部署服务202可以等待从移动应用203接收租户210的租户标识212。移动应用203可以在客户端设备中的移动应用203启动时响应租户210的输入而发送租户标识212。租户标识212可以包括分配给租户210的唯一标识符,例如凭证。
可以分析租户组以确定租户组216的百分比内的分配的可用性。如果检测到分配的可用性,则部署服务202可以将指令发送到移动应用203以激活特征205。如果检测到分配的不可用性,则部署服务202可以向移动应用203发送指令以不激活该特征。
可替代地,部署服务202可以从开发者接收停用部署到移动应用203的特征207的指令。部署服务202可以响应于在客户端设备处启动移动应用203而等待接收租户标识212以发送停用特征207的指令。可替代地,部署服务202可以发送停用特征207的指令到移动应用203和被识别为具有特征207的激活版本的其他移动应用。
在另一个示例场景中,租户属性214可以由部署服务202识别,以将租户210分类为在租户组216中。例如,作为租户属性214的租户位置可以与地理位置(例如作为城市、国家、大陆和/或营销区等)进行比较。响应于检测到租户位置包含在租户组216的地理位置内可以确定,租户标识212可以被标识为在租户组216内。可替代地,租户组216的地理位置之外的租户位置可用于停用部署到与租户210相关联的移动应用203的特征207。
类似地,租户角色也可以用作租户属性214以与关联于租户组216的组属性进行比较。租户角色的示例可以包括测试人员、监督人员和/或电力用户等等。可以使用匹配将租户标识212分类为在租户组216内。可以使用匹配失败来向有租户角色的租户相关联的移动应用203发送停用例如特征207的已部署特征的指令。
图3是示出根据实施例的提供应用特征的受控部署的方案的另一示例的显示图。
在图300中,部署服务302(由服务器308执行)可以接收包括特征305和租户310组的定义。该定义可以用于在移动应用303处激活特征305。在移动应用303启动时,从移动应用303发送的租户标识可以与租户组相匹配,并且可以将指令发送到移动应用303以激活特征305。
部署服务302可以从开发者接收部署特征307的新请求。该请求可以包括新租户组和特征307的定义。特征307可以是开发者可能希望用新的租户组进行测试的移动应用313的新特征。特征307可以在停用状态下被部署服务302部署到移动应用313。可替代地,可以使用第三方部署方案将特征307部署到移动应用313。
部署服务302可以等待接收租户320的租户标识以指示移动应用313激活特征307。可以将租户320的租户标识与新的租户组进行比较。如果在新的租户组内发现租户标识,则可以指示移动应用313激活特征307以供租户320消费。
图4是示出根据实施例的激活反馈方案以提供应用特征的受控部署的显示图。
在图400中,开发者可以使用部署服务402(由服务器408执行)来控制特征(405、407)和反馈特征409的部署。部署服务402可以接收用于在移动应用403处部署的特征405和一组租户410的定义。部署服务402可以响应于移动应用403的启动而接收租户标识。租户标识可以在租户组410内被检测到。接下来,部署服务402可以指示移动应用403激活特征405以供与租户标识关联的租户消费。
可替代地,部署服务402可以从开发者接收定义以将特征(405、407)和反馈特征409部署到另一租户组。可以将租户420的租户标识与该另一租户组进行比较,以将租户标识识别为在该另一租户组内。作为响应,可以指示移动应用413激活特征(405、407)和反馈特征409。
从移动应用413接收到的关于特征407的肯定反馈可以用于指示移动应用403激活特征407以供租户组410消费。可替代地,可以指示租户库的移动应用响应于来自移动应用413的肯定反馈自动地或基于来自开发者的请求激活特征407。响应于从移动应用413接收到的否定反馈,还可以指示移动应用413停用特征407。开发者可以被通知否定反馈以促使开发者解决引起否定反馈的问题。
如上所述,可以采用部署服务来执行操作以自动化应用特征的受控部署。作为通过部署服务102提供应用特征的受控部署的结果,移动应用103的用户效率提高可能发生。另外,由部署服务102对消耗移动应用103的特征的租户组的特征管理可以减少处理器负载,提高处理速度,节省内存并减少网络带宽使用。
如这里所描述的实施例解决了由于管理由部署服务102管理的客户端设备104的移动应用103的特征缺乏效率而产生的需要。这里描述的动作/操作不仅仅是计算机的使用,而是解决了作为提供给大量用户和应用的服务使用的软件的直接结果。
图1至图4中的示例场景和模式被示出为具有特定的组件、数据类型和配置。实施例不限于根据这些示例配置的系统。提供应用特征的受控部署可以在应用和用户接口中采用更少或附加组件的配置中实现。此外,利用本文所描述的原理,图1至图4中示出的示例性模式和组件及其子组件可以以与其他值相似的方式实现。
图5是可以实现实施例的示例性网络环境。被配置为提供应用特征的受控部署的部署服务可以经由在诸如托管服务之类的一个或多个服务器514上执行的软件来实现。该平台可以通过网络510与各个计算设备(诸如智能电话513、移动计算机512或台式计算机511('客户端设备'))上的客户端应用进行通信。
在任何客户端设备511-513上执行的客户端应用可促进经由服务器514执行的或单独服务器516上执行的应用的通信。部署服务可接收来自开发者的移动应用的特征和移动应用的租户组的定义以及来自移动应用的租户标识。接下来,可以检测到租户标识在该租户组内。作为响应,可以将指令发送到与租户标识相关联的移动应用以激活该特征。部署服务可直接或通过数据库服务器518将与该特征相关联的数据存储在数据存储库519中。
网络510可以包括服务器、客户端、互联网服务提供商和通信介质的任何拓扑。根据实施例的系统可以具有静态或动态拓扑。网络510可以包括诸如企业网络的安全网络、诸如无线开放网络的不安全网络或因特网。网络510还可以协调诸如公共交换电话网络(PSTN)或蜂窝网络之类的其他网络上的通信。此外,网络510可以包括短程无线网络,例如蓝牙或类似的无线网络。网络510提供这里描述的节点之间的通信。作为示例而非限制,网络510可以包括诸如声学、RF、红外和其他无线介质的无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其他配置来提供应用特征的受控部署。此外,图5中讨论的网络环境仅用于说明目的。实施例不限于示例应用、模块或过程。
图6是根据实施例的可用于提供应用特征的受控部署的示例计算设备的框图。
例如,计算设备600可以用作服务器、台式计算机、便携式计算机、智能电话、专用计算机或类似设备。在示例基本配置602中,计算设备600可以包括一个或多个处理器604和系统存储器606。存储器总线608可以用于处理器604和系统存储器606之间的通信。可以通过内部虚线内的那些组件在图6中说明基本配置602。
取决于期望的配置,处理器604可以是任何类型的,包括但不限于微处理器(μP)、微控制器、数字信号处理器(DSP)或其任何组合。处理器604可以包括一个或多个级别的高速缓存,诸如一级高速缓存存储器612,一个或多个处理器核心614和寄存器616。示例处理器核心614可以(每个)包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核心(DSPCore)或其任何组合。示例存储器控制器618也可以与处理器604一起使用,或者在一些实现方式中,存储器控制器618可以是处理器604的内部部分。
取决于期望的配置,系统存储器606可以是任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或它们的任何组合。系统存储器606可以包括操作系统620、部署服务622和程序数据624。部署服务622可以包括诸如特征模块626和通信模块627的组件。特征模块626和通信模块627可以执行与部署服务622相关联的过程。特征模块626可以从开发者接收移动应用的特征和移动应用的租户组的定义,接收来自移动应用的租户标识。接下来,可以检测到租户标识在该租户组内。作为响应,通信模块627可以向与租户标识相关联的移动应用发送指令以激活该特征。
可以通过与计算设备600相关联的通信设备来发送部署服务622的输入和输出。通信设备的示例可以包括可以通信地耦合到计算设备600的联网设备。联网设备可以提供有线和/或无线通信。如本文所述,程序数据624还可以包括特征数据628以及其他数据等等。特征数据628可以包括租户标识、租户属性等等。
计算设备600可具有附加的特征或特征以及附加的接口以便于基本配置602与任何所需的设备和接口之间的通信。例如,总线/接口控制器630可用于促进基本配置602与一个或多个数据存储设备632之间经由存储接口总线634的通信。数据存储设备632可以是一个或多个可移除存储设备636、一个或多个非可移除存储设备638或者其组合。可移动存储设备和不可移动存储设备的示例可以包括诸如软盘驱动器和硬盘驱动器(HDD)的磁盘设备、诸如压缩盘(CD)驱动器或数字多特征盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)和磁带驱动器,仅列举了几个。示例的计算机存储介质可以包括以用于诸如计算机可读指令、数据结构、程序模块或其它数据的信息的存储的任何方法或技术实现的易失性和非易失性的介质以及可移除和非可移除的介质。
系统存储器606、可移动存储设备636和不可移动存储设备638是计算机存储介质的示例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存(flash memory)或其它存储器技术、CD-ROM、数字多特征盘(DVD)、固态驱动器、或其它光学存储设备、磁盒、磁带、磁盘存储设备或其它磁存储设备、或者可用于存储所需信息并且可由计算设备600访问的任何其它介质。任意这样的计算机存储介质可以是计算设备600的部分。
计算设备600还可以包括接口总线640,该接口总线640用于促进从各接口设备(例如,一个或多个输出设备642、一个或多个外围设备接口644和一个或多个通信设备666)经由总线/接口控制器630到基本配置602的通信。一些示例的输出设备642包括图形处理单元648和音频处理单元650,其可配置为经由一个或多个A/V端口652与诸如显示器或扬声器的各外部设备通信。一个或多个示例的外围设备接口644包括串行接口控制器654或并行接口控制器656,其可被配置为经由一个或多个I/O端口658与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)或其它外围设备(例如,打印机、扫描仪等)的外部设备通信。示例的通信设备666包括网络控制器660,其可布置成利于经由一个或多个通信端口664通过网络通信链路与一个或多个计算设备662的通信。一个或多个其它计算设备662可以包括服务器、计算设备和类似的设备。
网络通信链路可以是通信介质的一个示例。通信介质通常可通过计算机可读指令、数据结构、程序模块或诸如载波或其它传输机制的调制数据信号中的其它数据来体现,并且可以包括任何信息输送介质。“调制数据信号”可以是使得其特性中的一个或多个以将信息编码在信号中的方式设定或改变的信号。通过示例而不是限制的方式,通信介质可以包括诸如有线网络或直接线连接的有线介质,以及诸如声波、射频(RF)、微波、红外(IR)和其它无线介质的无线介质。如本文所使用的术语计算机可读介质可以包括存储介质和通信介质两者。
计算设备600可实现为通用或专用服务器、主机或包含上述任意功能的类似计算机的部分。计算设备600还可实现为包括膝上型计算机和非膝上型计算机配置两者的个人计算机。
示例实施例还可以包括用于提供应用特征的受控部署的方法。这些方法可以以任何数量的方式实现,包括这里描述的结构。一种这样的方式可以通过本公开中描述的类型的设备的机器操作。另一种可选方式可以是用于结合一个或多个人类操作员执行一些操作、而其他操作可以由机器执行来执行方法的一个或多个单独操作。这些人类操作员不需要彼此并置,但每个操作员只能使用执行程序一部分的机器。在其他实施例中,人类交互可以例如通过可以是机器自动化的预选标准来自动化。
图7是示出根据实施例的用于提供应用特征的受控部署的过程的逻辑流程图。过程700可以在诸如计算设备600或另一系统的计算设备上实现。
过程700以操作710开始,其中部署服务可以从开发者接收移动应用的特征和移动应用的租户组的定义。该定义可以用于允许与该租户组关联的移动应用激活该特征。该特征可以包括移动应用的现有组件、新组件和/或反馈组件以及其他组件。接下来,可以在操作720从移动应用接收租户标识。租户标识可以包括与访问移动应用的租户相关联的唯一标识符。
在操作730,可以将租户标识与该租户组进行比较以检测租户标识在该租户组内。该租户组可以包括被分类以测试该特征和/或使用该特征等等的租户库的子集。接下来,在操作740,可以将指令发送到与租户标识相关联的移动应用以激活特征。
过程700中包括的操作是出于说明的目的。提供应用特征的受控部署可以通过具有更少或附加步骤的类似过程以及使用此处描述的原理的不同操作顺序来实现。在此描述的操作可以由在一个或多个计算设备上操作的一个或多个处理器、一个或多个处理器核心、专用处理设备和/或通用处理器以及其他示例执行。
在一些示例中,描述了用于提供应用特征的受控部署的服务器。该服务器包括通信设备、被配置为存储与部署服务相关联的指令的存储器,以及耦合到存储器和通信设备的一个或多个处理器。一个或多个处理器结合存储在存储器中的指令执行部署服务。部署服务包括特征模块和通信模块。特征模块被配置为从开发者接收移动应用的特征和移动应用的租户组的定义,从移动应用接收租户标识并检测租户标识在该租户组内。通信模块被配置为通过通信设备向与租户标识相关联的移动应用发送指令以激活该特征。
在其他示例中,响应于来自开发者的在与该租户组相关联的移动应用内激活特征的请求,在该租户组内检测租户标识。特征模块还被配置为从开发者接收在与租户组的百分比相关联的移动应用内激活特征并且查询在该租户组的百分比内的分配的可用性的请求。特征模块还被配置为检测在该租户组的百分比内的分配的可用性并且促使通信模块向与租户标识相关联的移动应用发送指令以激活该特征。特征模块还被配置为检测在该租户组的百分比内分配的不可用性,并且促使通信模块向与该租户标识相关联的移动应用发送另一指令以不激活该特征。
在进一步的示例中,特征模块还被配置为识别与租户标识相关联的租户属性,将租户属性与租户组的组属性进行比较,并且搜索租户属性和组属性之间的匹配来将租户标识分类为在该租户组内。特征模块进一步被配置为检测与租户标识相关联的租户位置作为租户属性,将租户位置标识为由该租户组的地理位置包含的租户位置,其中地理位置被检测为组属性,并且确认租户属性和组属性之间的匹配将租户标识分类为在租户组内。
在其他示例中,特征模块还被配置为检测与租户标识相关联的租户位置作为租户属性,将租户位置标识为在租户组的地理位置之外,其中地理位置被检测为所述组属性,识别所述租户属性与所述组属性之间的不匹配,以将所述租户标识分类为在所述租户组内,并且促使所述通信模块向与所述租户标识相关联的所述移动应用发送另一指令以不激活所述特征。特征模块进一步被配置为检测与租户标识相关联的租户角色作为租户属性,将租户角色标识为由该租户组中的组角色包含的租户角色,其中该组角色被检测为组属性,并且确认租户属性和组属性之间的匹配以将租户标识分类为在租户组内。
在进一步的示例中,特征模块还被配置为检测与租户标识相关联的租户角色作为租户属性,将租户角色识别为在租户组的组角色之外,其中组角色被检测为组属性,识别租户属性与组属性之间的不匹配以将租户标识分类为在租户组内,并且促使通信模块向与租户标识相关联的移动应用发送另一指令以不激活该特征。租户标识包括与移动应用的租户相关联的唯一标识符以及与租户组的组属性相匹配的租户属性,用于将租户标识分类为在租户组内。
在一些示例中,描述了在计算设备上执行的用于应用特征的受控部署的方法。该方法包括接收来自开发者的移动应用的特征和租户组的定义,接收来自开发者的在与该租户组关联的移动应用内激活特征的请求,从移动应用接收租户标识,检测租户标识在租户组内,以及向与租户标识关联的移动应用发送指令以激活该特征。
在其他示例中,该方法还包括接收来自开发者的其他特征和其他租户组的其他定义,接收来自开发者的在与其它租户组相关联的移动应用中激活其他特征的其他请求,以及从移动应用接收其他租户标识。该方法还包括检测其他租户标识在其他租户组内,并将其他指令发送给与其他租户标识关联的移动应用以激活另一特征。
在进一步的示例中,该方法还包括接收来自开发者的在与该租户组相关联的移动应用内停用特征的其他请求,并向与该租户标识相关联的移动应用发送其他指令以停用该特征。该方法进一步包括接收来自开发者的用于该租户组的反馈特征的反馈定义,接收来自该开发者以在与该租户组相关联的移动应用内激活反馈特征的反馈请求,以及向与租户标识关联的移动应用发送其它指令以激活反馈特征。该方法进一步包括接收来自与租户标识关联的移动应用的反馈,分析反馈以识别与该特征相关联的否定印象,以及向与租户标识关联的移动应用发送新指令以停用该特征和反馈特征。
在一些示例中,描述了其上存储有用于提供应用特征的受控部署的指令的计算机可读存储器设备。指令包括与该方法的动作相似的动作。
在一些示例中,描述了用于提供应用特征的受控部署的单元。用于提供应用特征的受控部署的单元包括:用于从开发者接收移动应用的特征和移动应用的租户组的定义的单元;用于从移动应用接收租户标识的单元;用于检测租户标识在租户组内的单元以及用于向与租户标识相关联的移动应用发送指令以激活该特征的单元。
以上说明书、示例和数据提供了实施例的组成的制造和使用的完整描述。虽然已经用特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,所附权利要求中限定的主题不一定限于上述特定特征或动作。相反,上述具体特征和行为是作为实施权利要求和实施例的示例形式公开的。

Claims (10)

1.一种用于提供应用特征的受控部署的服务器,所述服务器包括:
通信设备;
存储器,被配置为存储与部署服务相关联的指令;
耦合到所述存储器和所述通信设备的一个或多个处理器,所述一个或多个处理器结合存储在所述存储器中的指令执行部署服务,其中,所述部署服务包括:
特征模块,被配置为:
从开发者接收移动应用的特征和所述移动应用的租户组的定义;
从所述移动应用接收租户标识;
检测所述租户标识在所述租户组内;以及
通信模块,被配置为:
通过所述通信设备向与所述租户标识相关联的所述移动应用发送指令以激活所述特征。
2.如权利要求1所述的服务器,其中,所述特征模块还被配置为:
接收来自所述开发者的在与所述租户组的百分比相关联的所述移动应用内激活所述特征的请求;以及
查询在所述租户组的所述百分比内的分配的可用性。
3.如权利要求2所述的服务器,其中,所述特征模块还被配置为:
检测在所述租户组的所述百分比内的分配的可用性;以及
提示所述通信模块将所述指令发送到与所述租户标识相关联的所述移动应用以激活所述特征。
4.如权利要求1所述的服务器,其中,所述特征模块进一步配置成:
识别与所述租户标识相关联的租户属性;
将所述租户属性与所述租户组的组属性进行比较;以及
搜索所述租户属性和所述组属性之间的匹配,以将所述租户标识分类为在所述租户组内。
5.如权利要求4所述的服务器,其中,所述特征模块还被配置为:
检测与所述租户标识相关联的租户位置作为所述租户属性;
识别所述租户位置被所述租户组的地理位置所包含,其中,所述地理位置被检测为所述组属性;以及
确认所述租户属性和所述组属性之间的匹配,以将所述租户标识分类为在所述租户组内。
6.如权利要求4所述的服务器,其中,所述特征模块还被配置为:
检测与所述租户标识相关联的租户角色作为所述租户属性;
将租户角色识别为在所述租户组的组角色之外,其中,所述组角色被检测为所述组属性;
识别所述租户属性和所述组属性之间的不匹配,以将所述租户标识分类为在所述租户组内;以及
提示所述通信模块向与所述租户标识相关联的所述移动应用发送另一指令以不激活所述特征。
7.一种在计算设备上执行的用于应用特征的受控部署的方法,所述方法包括:
从开发者接收移动应用的特征和租户组的定义;
接收来自所述开发者的在与所述租户组相关联的所述移动应用内激活所述特征的请求;
从所述移动应用接收租户标识;
检测所述租户标识在所述租户组内;以及
向与所述租户标识相关联的所述移动应用发送指令以激活所述特征。
8.如权利要求7所述的方法,还包括:
从所述开发者接收针对所述租户组的反馈特征的反馈定义;
接收来自所述开发者的在与所述租户组相关联的所述移动应用内激活所述反馈特征的反馈请求;以及
向与所述租户标识相关联的所述移动应用发送另一指令以激活所述反馈特征。
9.如权利要求8所述的方法,还包括:
从与所述租户标识相关联的所述移动应用接收反馈;
分析反馈以识别与所述特征相关联的否定印象;以及
向与所述租户标识相关联的所述移动应用发送新指令以停用所述特征和所述反馈特征。
10.一种其上存储有用于提供应用特征的受控部署的指令的计算机可读存储设备,所述指令包括:
从开发者接收移动应用的特征和租户组的定义;
接收来自所述开发者的在与所述租户组相关联的所述移动应用内激活所述特征的请求;
从所述移动应用接收租户标识;
检测所述租户标识在所述租户组内;以及
向与所述租户标识相关联的所述移动应用发送指令以激活所述特征。
CN201680077221.6A 2015-12-30 2016-12-15 应用特征的受控部署 Active CN108431768B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/983,598 2015-12-30
US14/983,598 US9823919B2 (en) 2015-12-30 2015-12-30 Controlled deployment of application feature in mobile environment
PCT/US2016/066745 WO2017116720A1 (en) 2015-12-30 2016-12-15 Controlled deployment of application feature

Publications (2)

Publication Number Publication Date
CN108431768A true CN108431768A (zh) 2018-08-21
CN108431768B CN108431768B (zh) 2022-04-26

Family

ID=57758730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680077221.6A Active CN108431768B (zh) 2015-12-30 2016-12-15 应用特征的受控部署

Country Status (4)

Country Link
US (3) US9823919B2 (zh)
EP (1) EP3398063B1 (zh)
CN (1) CN108431768B (zh)
WO (1) WO2017116720A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105281955B (zh) * 2015-10-27 2018-10-09 上海华为技术有限公司 一种业务和资源编排的系统、方法及装置
US10409643B2 (en) * 2017-08-31 2019-09-10 Oracle International Corporation Service request based application feature activation
US10764384B2 (en) 2018-05-08 2020-09-01 Microsoft Technology Licensing, Llc Control system based on collaborative interaction detection and graph construction
US11070540B1 (en) 2018-12-28 2021-07-20 Juniper Networks, Inc. Dynamic provisioning of user groups within computer networks based on user attributes
US11516220B1 (en) 2018-12-28 2022-11-29 Juniper Networks, Inc. Creating roles and controlling access within a computer network
CN110413348B (zh) * 2019-07-31 2023-01-06 中国工商银行股份有限公司 数据处理方法、装置、系统及介质
US11782695B2 (en) 2021-11-29 2023-10-10 Microsoft Technology Licensing, Llc Dynamic ring structure for deployment policies for improved reliability of cloud service
US11797293B2 (en) * 2021-12-23 2023-10-24 Rakuten Mobile, Inc. Relationship-apparent application artifact registration
CN114615318B (zh) * 2022-01-24 2023-04-28 阿里云计算有限公司 一种数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101925887A (zh) * 2008-01-28 2010-12-22 微软公司 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法
CN102135883A (zh) * 2011-03-14 2011-07-27 山东大学 一种支持SaaS应用生成与部署的方法和装置
US20120060149A1 (en) * 2010-09-03 2012-03-08 Brad Kimura Integrated multimedia application for mobile devices
CN102934079A (zh) * 2010-06-07 2013-02-13 微软公司 按承租人和用户的特征集合区分
US20140095874A1 (en) * 2012-10-01 2014-04-03 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5956505A (en) 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
DE69318631T2 (de) * 1992-07-17 1999-01-28 Philips Electronics Nv Röntgenuntersuchungseinrichtung
US6769009B1 (en) * 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US7743089B2 (en) * 1999-10-13 2010-06-22 Intel Corporation Method and system for dynamic application layer gateways
US6665867B1 (en) * 2000-07-06 2003-12-16 International Business Machines Corporation Self-propagating software objects and applications
US10176476B2 (en) * 2005-10-06 2019-01-08 Mastercard Mobile Transactions Solutions, Inc. Secure ecosystem infrastructure enabling multiple types of electronic wallets in an ecosystem of issuers, service providers, and acquires of instruments
US7587250B2 (en) * 2003-07-22 2009-09-08 Siemens Building Technologies, Inc. Controller with configurable connections between data processing components
US7996814B1 (en) * 2004-12-21 2011-08-09 Zenprise, Inc. Application model for automated management of software application deployments
US9201641B2 (en) * 2004-12-24 2015-12-01 Telecom Italia S.P.A. Method and system for upgrading the software of a telecommunication terminal, in particular of a video telephone, and related computer program product
US8819659B2 (en) * 2005-09-14 2014-08-26 Millennial Media, Inc. Mobile search service instant activation
US8745223B2 (en) * 2005-10-14 2014-06-03 Psion Inc. System and method of distributed license management
US7730478B2 (en) 2006-10-04 2010-06-01 Salesforce.Com, Inc. Method and system for allowing access to developed applications via a multi-tenant on-demand database service
US8095618B2 (en) 2007-03-30 2012-01-10 Microsoft Corporation In-memory caching of shared customizable multi-tenant data
US8122055B2 (en) 2007-04-26 2012-02-21 Microsoft Corporation Hosted multi-tenant application with per-tenant unshared private databases
EP2283422B1 (en) * 2008-05-20 2018-07-18 Citrix Systems, Inc. Methods and systems for patching multiple disk images derived from a common base disk image
US8849971B2 (en) * 2008-05-28 2014-09-30 Red Hat, Inc. Load balancing in cloud-based networks
US8239509B2 (en) * 2008-05-28 2012-08-07 Red Hat, Inc. Systems and methods for management of virtual appliances in cloud-based network
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8869099B2 (en) 2008-07-28 2014-10-21 Infosys Limited System and method of enabling multi-tenancy for software as a service application
US8275116B2 (en) 2008-08-29 2012-09-25 8X8, Inc. Networked contact center
US8424059B2 (en) 2008-09-22 2013-04-16 International Business Machines Corporation Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment
US8271536B2 (en) 2008-11-14 2012-09-18 Microsoft Corporation Multi-tenancy using suite of authorization manager components
CN101754466B (zh) * 2008-12-10 2012-09-05 运软网络科技(上海)有限公司 移动虚拟化的基础设施以及基础平台
US8473943B2 (en) * 2009-08-31 2013-06-25 Oracle International Corporation Using ecoprint for cloning of applications
US8887144B1 (en) * 2009-09-04 2014-11-11 Amazon Technologies, Inc. Firmware updates during limited time period
US8984503B2 (en) * 2009-12-31 2015-03-17 International Business Machines Corporation Porting virtual images between platforms
US8762505B2 (en) 2010-06-14 2014-06-24 Microsoft Corporation Definition configuration and administration of distributed server systems through structured data model
US8904511B1 (en) * 2010-08-23 2014-12-02 Amazon Technologies, Inc. Virtual firewalls for multi-tenant distributed services
US8627310B2 (en) * 2010-09-30 2014-01-07 International Business Machines Corporation Capturing multi-disk virtual machine images automatically
US8914789B2 (en) * 2010-11-23 2014-12-16 International Business Machines Corporation Systematic migration of workload based on classification
KR20120062514A (ko) 2010-12-06 2012-06-14 한국전자통신연구원 SaaS 환경에서의 권한 관리 장치 및 방법
US8875122B2 (en) * 2010-12-30 2014-10-28 Sap Se Tenant move upgrade
US9104514B2 (en) 2011-01-11 2015-08-11 International Business Machines Corporation Automated deployment of applications with tenant-isolation requirements
US8566648B2 (en) * 2011-02-02 2013-10-22 Salesforce, Inc. Automated testing on devices
US9009697B2 (en) * 2011-02-08 2015-04-14 International Business Machines Corporation Hybrid cloud integrator
US8620897B2 (en) 2011-03-11 2013-12-31 Microsoft Corporation Indexing and searching features including using reusable index fields
US20120323643A1 (en) 2011-03-24 2012-12-20 Premier Parking LLC Parking management systems and methods
WO2012162158A1 (en) * 2011-05-20 2012-11-29 Citrix Systems, Inc. Shell integration on a mobile device for an application executing remotely on a server
US8881129B1 (en) * 2011-05-24 2014-11-04 Okta, Inc. Updating integration metadata in a multi-tenant system
US8631099B2 (en) * 2011-05-27 2014-01-14 Red Hat, Inc. Systems and methods for cloud deployment engine for selective workload migration or federation based on workload conditions
US8707289B2 (en) * 2011-07-20 2014-04-22 Google Inc. Multiple application versions
US8875120B2 (en) * 2011-08-01 2014-10-28 Salesforce.Com, Inc. Methods and apparatus for providing software bug-fix notifications for networked computing systems
US9372733B2 (en) * 2011-08-30 2016-06-21 Open Text S.A. System and method for a distribution manager
US8726264B1 (en) * 2011-11-02 2014-05-13 Amazon Technologies, Inc. Architecture for incremental deployment
US8813076B2 (en) * 2011-11-17 2014-08-19 International Business Machines Corporation Virtual machine updates
US8819661B2 (en) * 2011-11-28 2014-08-26 Echostar Technologies L.L.C. Systems and methods for determining times to perform software updates on receiving devices
US20130239192A1 (en) * 2012-03-09 2013-09-12 RAPsphere, Inc. Method and apparatus for securing mobile applications
US8881136B2 (en) * 2012-03-13 2014-11-04 International Business Machines Corporation Identifying optimal upgrade scenarios in a networked computing environment
US8997038B2 (en) * 2012-03-30 2015-03-31 Anypresence, Inc. Systems and methods for building and deploying mobile applications
US9354485B2 (en) * 2012-05-01 2016-05-31 Imra America, Inc. Optical frequency ruler
US8775599B2 (en) * 2012-06-19 2014-07-08 Microsoft Corporation Multi-tenant middleware cloud service technology
US9256412B2 (en) * 2012-07-04 2016-02-09 Sap Se Scheduled and quarantined software deployment based on dependency analysis
US8856382B2 (en) * 2012-07-30 2014-10-07 International Business Machines Corporation On-boarding services to a cloud environment
US9569193B2 (en) * 2012-09-07 2017-02-14 Oracle International Corporation System and method for patching java cloud services for use with a cloud computing environment
US9185342B2 (en) * 2012-10-10 2015-11-10 Salesforce.Com, Inc. Systems and methods for implementing instant social image cobrowsing through the cloud
US9274935B1 (en) * 2013-01-15 2016-03-01 Google Inc. Application testing system with application programming interface
US9256424B1 (en) * 2014-09-26 2016-02-09 Oracle International Corporation Managing software configurations across different target software deployments
US9177122B1 (en) * 2013-06-26 2015-11-03 Amazon Technologies, Inc. Managing secure firmware updates
US9733921B1 (en) * 2014-01-23 2017-08-15 NetSuite Inc. System and methods for management of cloud application extensions
US9996321B2 (en) * 2015-06-23 2018-06-12 Microsoft Technology Licensing, Llc Multi-tenant, tenant-specific applications
US10001983B2 (en) * 2016-07-27 2018-06-19 Salesforce.Com, Inc. Rolling version update deployment utilizing dynamic node allocation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101925887A (zh) * 2008-01-28 2010-12-22 微软公司 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法
CN101925887B (zh) * 2008-01-28 2014-10-29 微软公司 用于描述应用程序以获得可管理性和高效扩展部署的系统和方法
CN102934079A (zh) * 2010-06-07 2013-02-13 微软公司 按承租人和用户的特征集合区分
US20120060149A1 (en) * 2010-09-03 2012-03-08 Brad Kimura Integrated multimedia application for mobile devices
CN102135883A (zh) * 2011-03-14 2011-07-27 山东大学 一种支持SaaS应用生成与部署的方法和装置
US20140095874A1 (en) * 2012-10-01 2014-04-03 Salesforce.Com, Inc. Method and system for secured inter-application communication in mobile devices

Also Published As

Publication number Publication date
US20190155593A1 (en) 2019-05-23
US20180032325A1 (en) 2018-02-01
EP3398063B1 (en) 2021-04-21
US9823919B2 (en) 2017-11-21
CN108431768B (zh) 2022-04-26
US10871954B2 (en) 2020-12-22
US20170192767A1 (en) 2017-07-06
US10235160B2 (en) 2019-03-19
EP3398063A1 (en) 2018-11-07
WO2017116720A1 (en) 2017-07-06

Similar Documents

Publication Publication Date Title
CN108431768A (zh) 应用特征的受控部署
US9218363B2 (en) System and method for maintaining location information in a database
CN110546607B (zh) 电子表格应用程序对远程微服务的基于凭据的主动发现
WO2015149505A1 (zh) Sdn应用集成管理和控制的方法、系统及设备
KR20150064063A (ko) 컴퓨팅 장치의 보안 식별 및 보안 식별 방법
CN109347720A (zh) 确定群组成员、发送加入群组的请求的方法和设备
CN113590146A (zh) 服务器及容器升级方法
WO2020119173A1 (zh) 推送信息的方法和装置
CN114924751A (zh) 一种业务访问请求流量分配的方法和装置
US20120173974A1 (en) Socialized help for computing applications
CN105739717B (zh) 信息输入方法和装置
CN105630960B (zh) 测试领域任务型对话系统的方法和装置
CN105760119B (zh) 终端设备、信息处理系统和输出方法
CN114567659B (zh) 一种云手机控制方法、装置、设备以及存储介质
US9191445B2 (en) Systems and methods for managing emulation sessions
CN109582487A (zh) 用于发送信息的方法和装置
CN108696557A (zh) 信息处理系统、方法和装置
JP6531468B2 (ja) 画面表示方法、画面表示プログラム、及び通信装置
US20130191249A1 (en) Personalizing customer response
CN109787862B (zh) 无效资源的检测方法、装置、电子设备及存储介质
JP2017021416A (ja) ライセンス数管理システム、ライセンス数管理装置、ライセンス数管理プログラムおよびライセンス数管理方法
CN109634827A (zh) 用于生成信息的方法和装置
US20230164489A1 (en) Synchronized controller
CN107180174A (zh) 用于计算设备的通行码
JP2023048720A (ja) Vr空間管理装置及びvr空間管理方法

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