CN114556290A - 用于部署企业软件更新的系统和方法 - Google Patents

用于部署企业软件更新的系统和方法 Download PDF

Info

Publication number
CN114556290A
CN114556290A CN202080071227.9A CN202080071227A CN114556290A CN 114556290 A CN114556290 A CN 114556290A CN 202080071227 A CN202080071227 A CN 202080071227A CN 114556290 A CN114556290 A CN 114556290A
Authority
CN
China
Prior art keywords
application
client device
identifier
applications
shared 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.)
Pending
Application number
CN202080071227.9A
Other languages
English (en)
Inventor
A·古普塔
A·伊斯兰
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.)
Gaipu Co ltd
Original Assignee
Gaipu Co ltd
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 Gaipu Co ltd filed Critical Gaipu Co ltd
Publication of CN114556290A publication Critical patent/CN114556290A/zh
Pending legal-status Critical Current

Links

Images

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
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/202Interconnection or interaction of plural electronic cash registers [ECR] or to host computer, e.g. network details, transfer of information from host to ECR or from ECR to ECR
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/204Point-of-sale [POS] network systems comprising interface for record bearing medium or carrier for electronic funds transfer or payment credit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/20Point-of-sale [POS] network systems
    • G06Q20/206Point-of-sale [POS] network systems comprising security or operator identification provisions, e.g. password entry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3555Personalisation of two or more cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/356Aspects of software for card payments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/018Certifying business or products
    • G06Q30/0185Product, service or business identity fraud
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/0009Details of the software in the checkout register, electronic cash register [ECR] or point of sale terminal [POS]
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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

Abstract

本发明提供用于部署企业软件更新的系统和方法。在服务器处提供对应用程序和客户端装置的记录的存储。每一应用程序包含指示与应用程序相关联的组的对应组标识符和指示所述应用程序的版本的对应版本标识符。所述记录包含用于安装在每一装置上的多个应用程序中的每一应用程序的部署标识符。将具有第一组标识符和第一版本标识符的第一应用程序以及具有所述第一组标识符和第二版本标识符的第二应用程序安装在每一相应装置中。在所述服务器处接收针对所述第一应用程序的更新,所述更新包含修改所述第一应用程序的所述版本标识符。将针对所述第一应用程序的所述更新传送到每一装置。对于每一相应装置,所述部署标识符的修改指示哪一应用程序能够在所述相应装置上执行。

Description

用于部署企业软件更新的系统和方法
相关申请的交叉引用
本申请要求于2019年8月16日申请,标题为“用于部署企业软件更新的系统和方法(Systems and Methods for Deploying Enterprise Software Updates)”的第62/888,333号美国临时专利申请的优先权,所述临时专利申请全文以引用方式并入本文中。
技术领域
本公开大体上涉及用于部署更新的系统和方法。更确切地说,本公开涉及设计成将企业软件更新部署到一或多个客户端装置的系统和方法。
背景技术
企业计算机系统通常包含运行与企业的业务有关的重要应用程序的大量客户端装置。如果开发针对应用程序的更新,那么通常在循环的基础上将更新部署到客户端装置。当更新包含未预期的错误时,此部署产生问题,这需要进一步更新来修正。有时,此类错误对于企业的操作是致命的,例如支付系统错误。在发生此类严重错误的情况下,更新的部署使得安装已解决严重错误的应用程序的又一更新成为必要。然而,应用程序的此新更新的推进可能花费若干天或若干周,因为客户端装置通常是无线装置且可用于部署更新的无线网络带宽受到限制。举例来说,在客户端装置是销售点(POS)装置的情况下,给定零售位置处存在数十个POS装置。在零售位置处同时对每个POS装置推出经更新应用程序将消耗过多可用的无线网络资源。同时,未能推出其中已解决严重错误的经更新应用程序将导致在零售位置处无法使用POS装置。
鉴于以上背景技术,所属领域中需要用于改进的应用程序部署以解决此困境的改进的系统和方法。
此背景技术部分中所揭示的信息仅用于增强对本发明的大体背景技术的理解,而不应视为表示此信息形成所属领域的技术人员已经知道的现有技术的承认或任何形式的暗示。
发明内容
有利的是,本公开中详述的系统和方法解决了上文详述的现有技术中的缺点。
本发明提供用于部署企业软件更新的系统和方法。服务器存储应用程序和客户端装置的记录。每一应用程序包含指示与应用程序相关联的组的对应组标识符和指示应用程序的版本的对应版本标识符。记录包含用于安装在每一装置上的多个应用程序中的每一应用程序的部署标识符。将具有第一组标识符和第一版本标识符的第一应用程序(例如,POS应用程序的回退版本)和具有第一组标识符和第二版本标识符的第二应用程序(例如,POS应用程序的较新版本)安装在每一相应装置中。如果确定POS应用程序的较新版本有缺陷,那么有利的是,即使是在装置的用户选择执行应用程序的较新版本的情况下,服务器也可使客户端装置执行POS应用程序的回退版本。此外,根据本公开,因为应用程序的回退版本和较新版本共享同一第一组标识符,所以它们能够共用存储信息(例如,应用程序状态)的存储器。因此,将在应用程序的先前版本由于能够共享数据这一点而停用的情况下重新开始执行共享同一组标识符的应用程序的任何版本。
本公开的一个方面提供一种包含计算机系统的应用程序部署系统。计算机系统包含以通信方式耦合到通信网络的服务器。服务器包含应用程序门控数据结构。客户端装置以通信方式耦合到通信网络。客户端装置包含处理器、存储器和提供服务器与客户端装置之间的接口的软件接口。软件接口至少部分地安装在客户端装置存储器中。软件接口配置成通过通信网络在客户端装置与服务器之间通信,以便在客户端装置与服务器之间传送信息。存储器存储包含第一应用程序和第二应用程序的应用程序组。每一应用程序配置成在客户端装置上运行。第一和第二应用程序各自以通信方式耦合到通信网络。第一和第二应用程序具有存储在客户端装置的存储器中的共享数据元素。此外,对于应用程序组,应用程序门控数据结构包含将应用程序组中的单个应用程序识别为处于活动状态的活动状态指示符。第一应用程序配置成响应于在客户端装置上运行第一应用程序的命令而经由通信网络从客户端装置的接口软件获得应用程序组中处于活动状态的单个应用程序的身份。响应于确定第一应用程序处于活动状态,第一应用程序继续在客户端装置上运行第一应用程序。响应于确定第二应用程序处于活动状态,第一应用程序进一步执行过程。过程包含终止第一应用程序。过程进一步包含执行第二应用程序,其中执行检索存储在客户端装置上的共享数据元素的全部或一部分,由此允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据。
在一些实施例中,第一和第二应用程序进一步具有存储在服务器上的共享数据源。
在一些实施例中,获得身份包含将查询提供到服务器以获得应用程序组中处于活动状态的单个应用程序的身份。
在一些实施例中,过程进一步包含修改与第一应用程序相关联的图形用户接口图标。
在一些实施例中,客户端装置为移动装置。
在一些实施例中,第一应用程序和第二应用程序为单个销售点(POS)软件应用程序的不同版本。
在一些实施例中,过程进一步包含使用第二应用程序执行采购交易。
在一些实施例中,共享数据元素包含由第一应用程序执行的采购交易的交易标识符。
在一些实施例中,共享数据元素包含由第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
在一些实施例中,共享数据元素包含操作系统版本的标识。
在一些实施例中,共享数据元素包含存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
在一些实施例中,共享数据元素包含数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
本公开的又一方面提供一种客户端装置处的方法。客户端装置通过通信网络以通信方式耦合到服务器。并且,客户端装置包含处理器和存储器。方法包含响应于在客户端装置上运行第一应用程序的命令而经由通信网络从服务器获得应用程序组中被指定为处于活动状态的应用程序的身份。应用程序组包含第一应用程序且应用程序组中仅一个应用程序被指定为在任何给定时间处于活动状态。方法包含响应于确定第一应用程序的身份匹配应用程序组中被指定为处于活动状态的单个应用程序的身份而继续在客户端装置上运行第一应用程序。另外,方法包含响应于确定应用程序组中的第二应用程序的身份匹配应用程序组中被指定为处于活动状态的单个应用程序的身份而执行过程。过程包含终止第一应用程序且执行第二应用程序。执行检索存储在客户端装置上的共享数据元素的全部或一部分。此外,共享数据元素在第一应用程序与第二应用程序之间共享。此共享数据元素允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据。
在一些实施例中,获得身份包含将查询提供到服务器以获得应用程序组中处于活动状态的单个应用程序的身份。
在一些实施例中,过程进一步包含修改与第一应用程序相关联的图形用户接口图标。
在一些实施例中,客户端装置为移动装置。
在一些实施例中,第一应用程序和第二应用程序为单个销售点(POS)软件应用程序的不同版本。
在一些实施例中,过程进一步包含使用第二应用程序执行采购交易。
在一些实施例中,共享数据元素包含由第一应用程序执行的采购交易的交易标识符。
在一些实施例中,共享数据元素包含由第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
在一些实施例中,用于第一和第二应用程序的对应共享数据元素包含操作系统版本的标识。
在一些实施例中,用于第一和第二应用程序的对应共享数据元素包含存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
在一些实施例中,用于第一和第二应用程序的对应共享数据元素包含数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
在一些实施例中,多个客户端装置包含两个或更多个客户端装置、一百个或更多个客户端装置、一千个或更多个客户端装置或一万个或更多个客户端装置。
本公开的又一方面提供一种计算机实施的方法。方法包含在服务器处将多个应用程序和多个客户端装置的记录存储在服务器的存储器中。多个应用程序中的每一相应应用程序包含指示与相应应用程序相关联的组的对应组标识符以及指示相应应用程序的版本的对应版本标识符。对于多个客户端装置中的每一相应客户端装置,多个客户端装置的记录包含安装在相应客户端装置上的多个应用程序中的每一应用程序的版本标识符。此外,多个应用程序中的第一应用程序具有第一组标识符和第一版本标识符,且多个应用程序中的第二应用程序具有第一组标识符和第二版本标识符。第一和第二应用程序各自配置成在所述多个客户端装置中的每一相应客户端装置上运行。具有对应共同组标识符的多个应用程序中的每一相应应用程序包含与对应共同组标识符相关联的对应共享数据元素。方法进一步包含在服务器处接收针对第一应用程序的更新。更新包含修改第一应用程序的版本标识符以指示与更新相关联的版本。方法包含将针对第一应用程序的更新传送到多个客户端装置中的第一客户端装置。此外,方法包含在服务器处接收修改用于多个应用程序中的应用程序的子集的版本标识符的命令,对于多个客户端装置中的每一相应客户端装置,版本标识符的修改指示多个应用程序中的哪一应用程序可在相应客户端装置上执行。
在一些实施例中,多个应用程序中的每一应用程序包含指示相应应用程序的部署状态的对应部署标识符。
在一些实施例中,对应部署标识符选自由活动部署状态和非活动部署状态组成的组。
在一些实施例中,对于多个客户端装置中的每一相应客户端装置,多个客户端装置的记录进一步包含与相应客户端装置相关联的对应位置标识符。
在一些实施例中,对应位置标识符包含与客户端装置相关联的物理地址。
在一些实施例中,将具有对应共同组标识符的多个应用程序中的每一应用程序存储在服务器上与对应共同组标识符相关联的单个对应容器中。
在一些实施例中,针对第一应用程序的更新过程进一步包含修改与第一应用程序相关联的图形显示图标。
在一些实施例中,传送针对第一应用程序的更新是响应于来自第一客户端装置的针对经更新应用程序的请求。
在一些实施例中,传送针对第一应用程序的更新是响应于由服务器提供到第一客户端装置的命令。
在一些实施例中,传送针对第一应用程序的更新在预定时间段内进行。
在一些实施例中,传送针对第一应用程序的更新根据与服务器和多个客户端装置中的一或多个客户端装置相关联的通信网络的可用带宽的确定而进行。
在一些实施例中,用于包括第一和第二应用程序的共同组的对应共享数据元素包含由第一应用程序写入的第一数据和由第二应用程序写入的第二数据。
在一些实施例中,多个客户端装置中的每一客户端装置为移动装置。
在一些实施例中,第一应用程序和第二应用程序为单个销售点(POS)软件应用程序的不同版本。
在一些实施例中,过程进一步包含使用第二应用程序执行采购交易。
在一些实施例中,用于第一和第二应用程序的对应共享数据元素包含由第一应用程序执行的采购交易的交易标识符。
在一些实施例中,共享数据元素包含由第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
在一些实施例中,共享数据元素包含操作系统版本的标识。
在一些实施例中,共享数据元素包含存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
在一些实施例中,共享数据元素包含数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
本公开的又一方面提供一种计算机实施的方法。方法包含在具有显示器、一或多个处理器和存储用于由一或多个处理器执行的一或多个程序的存储器的装置处,存储器进一步存储第一应用程序和第二应用程序。一或多个程序包含用于接收执行第一应用程序的命令的指令。一或多个程序进一步包含用于响应于接收而确定第一应用程序的部署标识符的指令。在一些情况下,此部署标识符为“活动部署状态”或“非活动部署状态”指示。响应于此确定,执行第一或第二应用程序。举例来说,根据确定第一应用程序的部署标识符为活动部署状态,执行第一应用程序而非第二应用程序。根据确定第一应用程序的部署标识符为非活动部署状态,执行第二应用程序而非第一应用程序。
在一些实施例中,接收的命令由装置的用户提供。
在一些实施例中,在执行之前,根据确定第一应用程序的部署标识符为非活动部署状态,方法进一步包含在显示器上显示执行第二应用程序的提示。
在一些实施例中,根据确定执行第一应用程序,将第二应用程序置于停用状态,且根据确定执行第二应用程序,将第一应用程序置于停用状态。
根据本公开的一方面,以上和其它目标可通过提供应用程序更新部署服务来实现,所述应用程序更新部署服务提供选择性地在相应客户端装置上部署应用程序和/或在相应客户端装置上执行应用程序的机制。
本公开的方法和设备具有从并入本文的附图和以下具体实施方式中将显而易见或更详细地阐述的其它特征和优点,所述附图和具体实施方式一起用来阐释本发明的某些原理。
附图说明
图1示出根据本公开的示例性实施例的包含应用程序部署系统的示例性系统拓扑结构;
图2示出根据本公开的示例性实施例的应用程序部署的各种模块和/或组件;
图3示出根据本公开的示例性实施例的客户端装置的各种模块和/或组件;
图4提供根据本公开的示例性实施例的用于部署应用程序的计算机系统的过程和特征的流程图;
图5提供根据本公开的示例性实施例的用于利用客户端装置处的应用程序的方法的流程图;
图6示出根据本公开的示例性实施例的用于识别应用程序组的用户接口;以及
图7A、7B和7C共同示出根据本公开的示例性实施例的用于部署应用程序的用户接口。
应理解,附图未必是按比例绘制的,呈现了说明本发明的基本原理的各种特征的略微简化的表示。如本文中所揭示的本发明的特定设计特征(例如,包含特定尺寸、定向、位置以及形状)将部分地由特定既定应用以及使用环境来确定。
在图中,在附图的各图中参考标号始终是指本发明的相同或等效部件。
具体实施方式
如果对包含未预期错误的应用程序的更新被推送到客户端装置,那么客户端装置可能由于错误而变得不可操作。举例来说,如果应用程序是支付系统应用程序,那么客户端装置将不再能够处理支付,因为应用程序未能按预期的方式操作。回退到应用程序的先前版本不仅消耗时间和网络带宽,而且会在客户端装置和应用程序将以其它方式可操作时消耗时间。此外,回退常常恢复到数据的先前状态,从而阻止在应用程序的回退版本上使用经更新应用程序的当前数据。
为了解决此问题,本公开的系统和方法提供应用程序更新部署服务。此服务评估应用程序的部署状态,从而允许客户端装置取决于应用程序的状态来选择执行哪一应用程序。这允许应用程序的先前或不同版本在经更新应用程序包含预期或严重错误的情形下即刻部署,从而允许应用程序和客户端装置的操作无缝衔接。此外,本公开允许应用程序的不同版本共享数据,从而减少客户端装置的网络带宽和终端用户带宽两者,同时还防止应用程序不再发挥功能时数据的损失。
现将详细参考本公开的各种实施例,本公开的实例在随附图式中加以说明并在下文中描述。尽管将结合示例性实施例描述本公开,但应当理解,本说明书并不旨在将本发明限制于那些示例性实施例。相反,本发明希望不仅涵盖示例性实施例,而且涵盖可以包含于由所附权利要求书限定的本发明的精神和范围内的各种替代方案、修改、等效物和其它实施例。
应理解,尽管本文中可使用术语第一、第二等来描述各种元件,但这些元件不应受这些术语限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不偏离本公开的范围的情况下,第一应用程序可被称为第二应用程序,并且类似地,第二应用程序可被称为第一应用程序。第一应用程序和第二应用程序都是应用程序,但它们不是同一应用程序。
在本公开中使用的术语仅出于描述特定实施例的目的,且并不意图限制本发明。如在本发明的描述内容和所附权利要求中所使用,除非上下文另外清楚地指示,否则单数形式“一(a/an)”和“所述”意图同样包含复数形式。还将理解,如本文中所使用的术语“和/或”指代且涵盖相关联的所列项目中的一或多个的任何及所有可能的组合。将进一步理解,术语“包括(comprises和或comprising)”在用于本说明书中时规定所陈述的特征、整体、步骤、操作、元件和或组件的存在,但不排除一或多个其它特征、整体、步骤、操作、元件、组件和/或其群组的存在或添加。
如本文所使用,取决于上下文,术语“如果”可以被解释成意指“当...时”或“在...后”或者“响应于确定”或“响应于检测到”。类似地,取决于上下文,短语“如果确定”或“如果检测到[所陈述的条件或事件]”可被解释为表示“在确定...后”或“响应于确定”或“在检测到[所陈述的条件或事件]后”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用,术语“动态”意味在程序当前正在运行时更新程序的能力。
如本文所使用,除非另外明确地陈述,否则本文中可互换地使用术语“可执行”与“可部署”。
另外,除非另外明确地陈述,否则术语“客户端”、“主体”、“用户”在本文中可互换地使用。
此外,当参考标号给出“ith”指示时,参考标号是指通用组件、组或实施例。举例来说,称为“应用程序i”的应用程序是指多个应用程序中的第i个应用程序。
前文描述包含体现说明性实施方案的实例系统、方法、技术、指令序列和计算机器程序产品。出于解释的目的,阐述众多具体细节以便提供对本发明标的物的各种实施方案的理解。然而,对于所属领域的技术人员将显而易见的是,可以在没有这些具体细节的情况下实践本发明标的物的实施方案。一般来说,尚未详细展示众所周知的指令个例、协议、结构和技术。
出于阐释的目的,已参考具体实施方案描述了前文描述。然而,以下说明性论述并不意图为详尽的或将实施方案限于所公开的精确形式。鉴于以上教示,许多修改和变化都是可能的。挑选和描述实施方案以便最好地解释原理及其实际应用,由此使得所属领域的其它技术人员能够以适合于所预期的特定用途的各种修改来最佳地利用实施方案和各种实施方案。
为了清楚起见,没有示出和描述在此描述的实施方案的所有常规特征。应当理解,在任何此类实际实施方案的开发中,为了实现设计者的特定目的,例如符合与用例和商业相关的约束,做出许多特定实施方案的决定,并且这些特定目标将从一个实施方案变到另一个实施方案以及从一个设计者变到另一个设计者。此外,应当理解,这样的设计工作可能是复杂和耗时的,但是对于受益于本公开的所属领域中那些订购的技术人员来说仍然是常规的工程任务。
在对信息的操作的应用更新和符号表示方面,本实施方式的一些部分描述了本发明的实施例。这些应用程序更新描述和表示通常由数据处理领域的技术人员用来将其工作的实质有效地传递给所属领域的其它技术人员。当在功能上、计算上或逻辑上描述时,这些操作应理解为通过计算机程序或等效电路、微码等来实施。
本公开的一方面涉及提供企业软件(例如,应用程序)部署服务。提供用于提供企业软件部署服务的系统和方法。系统和方法包含具有存储器的服务器。存储器存储两个或更多个应用程序和多个客户端装置的记录。每一应用程序包含指示与应用程序相关联的组的对应组标识符和指示应用程序的版本的对应版本标识符。对于每一客户端装置,记录包含用于安装在客户端装置上的多个应用程序中的每一应用程序的部署标识符。第一应用程序具有第一组标识符和第一版本标识符,且第二应用程序具有第一组标识符和第二版本标识符。两个应用程序都安装在每一相应装置中。在服务器处接收针对第一应用程序的更新。更新包含修改第一应用程序的版本标识符。将针对第一应用程序的更新传送到每一客户端装置。对于每一相应客户端装置,更新包含部署标识符的修改,所述修改指示哪一应用程序可在相应装置上执行。
图1示出用于提供应用程序更新的部署的整合系统100的示例性构形。整合系统100包含:服务器200,其存储一或多个应用程序(例如,图2的第一应用程序216-1)和多个客户端装置的记录(例如,客户端装置记录存储区206);以及一或多个客户端装置300(例如,图3的计算装置300-1),其接收与应用程序216相关的通信,例如执行应用程序216且从整合系统100接收对应用程序216的更新。在一些实施例中,每一客户端装置300与至少一个用户相关联(例如,第一客户端装置300-1与第一用户相关联,第二客户端装置300-2与第二用户相关联等)。然而,本公开不限于此。
结合图1到图3描述根据本公开的用于提供应用程序更新服务的部署的系统100的详细描述。因此,图1到图3共同示出根据本公开的系统100的示例性拓扑结构。在拓扑结构中,存在服务器200,其用于接收对应用程序的更新且将与应用程序有关的数据传送到一或多个客户端装置300。
参看图1,服务器200配置成存储一或多个应用程序(例如,第一应用程序216-1、第二应用程序216-2等)和每一客户端装置300的记录(例如,图2的客户端装置记录存储区206)。服务器200接收对一或多个应用程序216中的应用程序216的更新且将更新部署到与对应用户相关联的一或多个客户端装置300。一或多个应用程序216以电子形式提供到每一客户端装置300。因而,服务器200可将应用程序216推送到相应客户端装置300上,从而允许服务器安装针对应用程序216的更新和/或移除与应用程序216相关联的数据。
在一些实施例中,服务器200通过射频(RF)信号以无线方式接收数据。在一些实施例中,此类信号符合802.11(Wi-Fi)、蓝牙或ZigBee标准。
在一些实施例中,服务器200并不接近用户和/或并不具有无线功能,或此类无线功能并不用于获取针对应用程序216的更新的目的。在此类实施例中,通信网络106用于将更新从源(例如,远程客户端装置300)传送到服务器200。
网络106的实例包含但不限于万维网(WWW)、内联网和/或无线网络(如蜂窝电话网络)、无线局域网(LAN)和/或城域网(MAN)以及通过无线通信的其它装置。无线通信任选地使用多种通信标准、协议和技术中的任何一种,包含但不限于:全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进-仅数据(EV-DO)、HSPA、HSPA+、双小区HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽频码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n)、互联网协议语音(VoIP)、Wi-MAX、电子邮件协议(例如,互联网消息存取协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息与存在协议(XMPP)、针对即时信息和出席扩展的会话发起协议(SIMPLE)、即时消息和存在服务(IMPS))和/或短消息服务(SMS)或任何其它合适的通信协议,包含截至本公开的提交日期尚未开发的通信协议。
当然,除图1中所描绘的拓扑结构之外,系统100的其它拓扑结构也是可能的。举例来说,在一些实施例中,服务器200直接以无线方式将信息传输到客户端装置300,而非依赖于通信网络106。此外,在一些实施例中,服务器200构成便携式电子装置、服务器计算机,或实际上构成在网络中链接在一起的若干计算机,或为在云计算情境中的虚拟机和/或容器。因此,图1所示的示例性拓扑结构仅用于以所属领域的技术人员将容易理解的方式描述本公开的实施例的特征。
鉴于前述想法,转向图2,在一些实施例中,服务器200包含一或多个计算机。出于图2中说明的目的,服务器200表示为单个计算机,其包含用于提供应用程序更新部署系统的所有功能。然而,本公开不限于此。在一些实施例中,用于提供服务器200的功能散布在任何数目的联网计算机上,和/或驻存在若干联网计算机中的每一个上,和/或代管在可跨越通信网络106存取的远程位置的一或多个虚拟机和/或一或多个容器上。所属领域的技术人员将了解,不同计算机拓扑结构的广泛阵列中的任一者用于本申请,且所有此类拓扑结构都在本公开的范围内。
提供用于提供应用程序更新的部署的示例性服务器200。服务器200包含一或多个处理单元(CPU的)274、网络或其它通信接口284、存储器192(例如,随机存取存储器)、任选地由一或多个控制器288存取的一或多个磁盘存储器和或持久性装置290、用于互连前述组件的一或多个通信总线112、用户接口278,所述用户接口278包含显示器282和输入端280(例如,键盘、小键盘、触摸屏),以及用于为前述组件供电的电力供应器276。在一些实施例中,使用如高速缓存器等已知计算技术使存储器192中的数据与非易失性存储器290无缝共享。在一些实施例中,存储器192和或存储器290包含相对于一或多个中央处理单元274远程定位的大容量存储装置。换句话说,存储在存储器192和/或存储器290中的一些数据实际上可代管在计算机上,所述计算机在服务器200外部但可由服务器200使用网络接口284经由互联网、内联网或其它形式的网络或电子电缆(在图2中示出为元件106)以电子方式存取。
在一些实施例中,用于部署应用程序更新的服务器200的存储器192存储:
·操作系统202,其包含用于处置各种基本系统服务的过程;
·电子地址204,其识别服务器200;
·客户端装置记录存储区206,其存储多个客户端装置记录208,其中每一客户端装置记录208包含描述与安装在对应客户端装置(例如,图3的客户端装置300)上的一或多个应用程序(例如,图7A的第一应用程序216-1)相关的信息的应用程序记录210;以及
·应用程序数据库212,其存储一或多个应用程序组214,每一应用程序组214包含一或多个应用程序216,所述一或多个应用程序具有可供同一应用程序组214中的每一应用程序216使用的共享数据元素218。
客户端装置记录存储区206包含与每一客户端装置300相关联的数据,例如与对应客户端装置300相关联的相应客户端装置记录208(例如,第一客户端装置记录208-1与第一客户端装置300-1相关联)。在一些实施例中,每一相应客户端装置记录208信息中的数据与对应应用程序216的相应状态有关,所述相应客户端装置记录例如一或多个应用程序记录210,在下文中被称为“应用程序记录”。此应用程序记录包含与对应应用程序216相关联的一或多个标识符。一或多个标识符中的每一标识符指示对应应用程序如何在客户端装置300上操作。举例来说,在一些实施例中,应用程序记录210包含指示相应应用程序的版本的版本标识符(例如,客户端装置300-1包含版本X的第一应用程序216-1和版本Y的第二应用程序216-2)。在一些实施例中,应用程序记录210包含指示应用程序216是否响应于执行应用程序216的命令而执行(即,启动、打开等)的部署标识符。
在一些实施例中,客户端装置记录206的数据包含指示相应应用程序216的部署状态的部署标识符(例如,版本标识符X的第一应用程序216-1处于活动部署状态,版本标识符Y的第二应用程序216-2处于非活动部署状态)。此外,在一些实施例中,部署标识符和版本标识符被归为指示相应应用程序216的版本和部署状态两者的集体标识符。在一些实施例中,部署标识符、版本标识符或这两者对于相应应用程序216(例如,安装在相应客户端装置300上的每一第一应用程序216-1包含第一版本标识符和第一部署标识符)或相应客户端装置300(例如,安装在第一客户端装置300-1上的第一应用程序216-1包含第一版本标识符和第一部署标识符,安装在第二客户端装置300-2上的第一应用程序216-1包含第二版本标识符和第二部署标识符)是唯一的。
在一些实施例中,版本标识符和/或部署标识符与图形图标(例如,图7A的图形图标600)相关联,所述图形图标修改应用程序216的特性。在一些实施例中,每一相应版本标识符与唯一图形图标600相关联,从而允许用户通过观测客户端装置300上的图形图标600来容易地识别版本标识符。举例来说,简单地参考图6A到6C,第一应用程序216-1包含指示对应“蓝色”版本标识符的第三图形图标600-3,且第二应用程序216-2包含指示对应“绿色”版本标识符的第四图形图标600-4。蓝色和绿色标识符中的每一者指示对应应用程序216的对应的唯一可执行版本标识符,例如销售点平台应用程序216的第一“蓝色”版本标识符和销售点平台216的第二“绿色”版本标识符。
此外,在一些实施例中,客户端装置记录存储区208的数据包含识别与客户端装置300相关联的位置的位置标识符。在一些实施例中,位置包含与客户端装置300相关联的物理地址(例如,客户端装置300-1与第一物理地址相关联,客户端装置300-2与第一物理地址相关联,客户端装置300-3与第二物理地址相关联等)、与客户端装置300相关联的电子地址。具有位置标识符允许本公开的用户部署用于与第一位置相关联的一或多个客户端装置300的第一应用程序,同时部署用于与第二位置相关联的一或多个客户端装置的第二应用程序。这尤其适用于应用程序为实验应用程序的情况,从而允许仅客户端装置的子集执行实验应用程序。在一些实施例中,位置标识符包含位置标识符的一或多个子集,例如相应位置处的客户端装置300的类别(例如,与配置为销售点装置的第一类客户端装置300相关联的位置标识符的第一子集、与配置为客户端查询一体机装置的第二类客户端装置300相关联的位置标识符的第二子集等)。
在一些实施例中,客户端装置记录208包含与进一步与对应客户端装置300相关联的每一终端用户相关联的数据。举例来说,在一些实施例中,客户端装置记录存储区208包含操作对应客户端装置300的用户的列表。举例来说,操作查询一体机客户端装置300的消费者的列表、操作专用POS客户端装置300的雇员的列表、操作智能POS客户端装置的消费者等。
在一些实施例中,一或多个应用程序记录210(下文称为“应用程序记录210”)存储与相关联于对应客户端装置208的应用程序216的历史相关的数据,例如历史上(例如,先前和/或当前)安装在对应客户端装置300上的应用程序的列表。作为非限制性实例,应用程序的列表可包含安装在对应客户端装置300上的对应应用程序的每一版本的记录,和任选地与每一版本相关联的信息。举例来说,在一些实施例中,应用程序记录210包含与应用程序216的一或多个版本的安装和/或卸载日期、对应用程序216的一或多个版本的存取日期等相关联的信息。在一些实施例中,应用程序记录210包含与应用程序216相关联的配置的列表,例如读取、写入和复制权限;网络106通信权限;等。
在一些实施例中,应用程序记录210允许与客户端装置300相关联的一或多个应用程序216的远程配置,例如客户端装置300上的相应应用程序216的远程安装和/或更新。以此方式,服务器20可保存与进一步与对应客户端装置300相关联的一或多个应用程序216相关联的信息,同时还允许对应客户端装置300的远程操作。由此,当在更新相应应用程序300时对应客户端装置300发生错误时,服务器200可评估对应应用程序记录210且肯定解决对应客户端装置的错误,例如指示客户端装置300执行第二应用程序216-2。
另外,客户端装置记录存储区206允许本公开的用户不与每一个别相应客户端装置300相关联,以在不直接存取客户端装置300(例如,具有物理客户端装置300、使用虚拟计算机存取客户端装置300等)的情况下确定各种装置配置和状态。此外,通过提供对共同表示多个客户端装置300的信息的存取,用户可分析系统内的错误(例如,与服务器200相关联的第一错误、与客户端装置300相关联的第二错误、与第一应用程序216-1相关联的第三错误等)而无需个别地分析系统的每一组件。
此外,服务器200包含存储与一或多个应用程序组214相关联的数据的应用程序数据库212。在一些实施例中,每一相应应用程序组214包含一或多个对应应用程序216,所述一或多个对应应用程序允许为一或多个对应应用程序216中的每一者提供组标识符。通过本应用程序组214标识符,共享数据元素218可用于一或多个相关联应用程序216(例如,图7B的交易数据620、图7C的交易数据620)之间。举例来说,在一些实施例中,相应应用程序组214形成具有共享数据元素218的集合的一或多个不同应用程序216的分组,例如配置为包含产品目录中的每一相应产品的对应价格的产品目录的第一应用程序216-1,以及配置为基于与每一相应产品相关联的条形码(即,第一和第二应用程序具有共享产品和价格数据218)检索对应价格的POS应用程序的第二应用程序216-2。即使一或多个应用程序216可安装一个不同客户端装置300,一或多个应用程序仍通过与应用程序组214的每一应用程序216相关联的组标识符保持与应用程序组216相关联。然而,本公开不限于此。
在一些实施例中,相应应用程序组214包含对应应用程序216的一或多个版本的分组,例如第一应用程序216-1的第一版本和第二应用程序216-2的第二版本。举例来说,在一些实施例中,每一应用程序214包含指示对应应用程序的发布次序的版本标识符(例如,第一应用程序216-1包含第一版本标识符,第二应用程序216-2包含第二版本标识符等)。在一些实施例中,发布次序包含只写权限,从而阻止系统200的用户修改应用程序216的版本标识符。然而,本公开不限于此。
举例来说,在一些实施例中,版本标识符指示对应应用程序216是否可在客户端装置300上执行。作为非限制性实例,在一些实施例中,版本标识符指示对应应用程序216是否可执行的二进制是或否。在一些实施例中,第一版本标识符指示是否可执行对应应用程序216,且根据确定无法基于版本标识符执行对应应用程序216,进一步指示第二应用程序216-2具有
在一些实施例中,第一应用程序216-1为对应用程序216-1的对应第一版本是唯一的数据,且第二应用程序216-1为对应用程序216-2的对应第二版本是唯一的数据。由此,在一些实施例中,共享数据元素218包含由第一应用程序216-1和第二应用程序216-2两者或对应应用程序组214中另一应用程序216利用的各种数据。在一些实施例中,相应应用程序组214由服务器的用户手动配置(例如,用户通过与第一应用程序组214-1相关联的组标识符将第一应用程序216-1分配到第一应用程序组214-1)。然而,本公开不限于此。在其它实施例中,服务器200检测与相应应用程序216相关联的特性(例如,应用程序216的名称、应用程序216的版本标识符、应用程序216的源等),以便将应用程序216放置在相应应用程序组214中。
在一些实施例中,共享数据元素218包含由第一应用程序216-1和第二应用程序216-2中任一者产生的数据。举例来说,在一些实施例中,第一应用程序216-1在第一客户端装置300-1本地形成与第一用户交互相关联的第一数据(例如,在第一客户端装置300处创建第一交易数据),且第二应用程序216-2在第二客户端装置300-2处形成与第二用户交互相关联的第二数据(例如,在第二客户端装置300处创建第二交易数据)。随后将此第一数据和第二数据传送到服务器200且共同地存储为共享数据元素218,所述共享数据元素接着由第一应用程序216-1和第二应用程序216-2读取,从而允许第一客户端装置300-1和第二客户端装置300-1存取第一数据和第二数据两者。然而,本公开不限于此。作为另一实例,在一些实施例中,使用第一应用程序216-1在第一客户端装置300处创建第一交易数据,且将第一交易数据传送到服务器200,使得通过对应组应用程序214的共享数据元素218保存第一交易数据。以此方式,利用第二应用程序216-2的对应组应用程序214的第二客户端装置300-2可通过共享数据元素218存取第一交易数据。此外,第一客户端装置300-1还可在第一客户端装置300-1处使用第二应用程序216-2通过共享数据元素218存取第一交易数据。
在一些实施例中,共享数据元素218包含一或多个客户端装置300配置,例如客户端装置300处的一或多个用户设置、客户端装置300处的一或多个应用程序216设置等。在一些实施例中,共享数据元素包含执行应用程序216的非必需数据。作为非限制性实例,在一些实施例中,第一应用程序216-1包含虚拟机和/或容器,使得由第一应用程序216-1创建的数据保存在服务器200处且可由可在由第一应用程序216-1提供的虚拟环境外部存取的第二应用程序216-2存取。然而,本公开不限于此。
举例来说,在一些实施例中,共享数据元素218包含执行和/或利用对应应用程序组214中的每一应用程序216所需的必需数据。作为非限制性实例,考虑第一应用程序216-1(例如,图6A和/或6B的“蓝色应用程序”216-1)以及第二应用程序216-2(例如,图6A和/或6C的“绿色应用程序”),其各自提供销售点平台(例如,与销售平台相关联的对应应用程序组214中的不同版本的销售平台)。应用程序组214中的每一相应应用程序216作为销售点平台需要读取和/或写入存储在运行第一应用程序216的对应客户端装置300和/或服务器200处的表上的交易数据(例如,图7B的共享数据元素218-1)的能力,使得多个装置可执行交易并提供交易数据。因而,用于对应应用程序组214的共享数据元素218包含具有交易数据的表,所述交易数据可由对应应用程序组214中的每一应用程序214存取。以此方式,如果第一应用程序216-1或第二应用程序216-2中的任一者在客户端装置300处不可操作,那么销售平台仍可通过使用其它操作应用程序216来操作。
在一些实施例中,服务器200的以上所识别的数据存储区和/或模块中的一或多者存储在先前描述的存储器装置(例如,存储器192和/或存储器290)中的一或多者中,且对应于用于执行上文所描述的功能的指令集。以上识别的数据、模块或程序(例如,指令集)无需实施为单独软件程序、过程或模块。因此,这些模块的各种子集可在各种实施方案中组合或以其它方式重新布置。在一些实施方案中,存储器192和/或存储器290任选地存储上文识别的模块和数据结构的子集。此外,在一些实施例中,存储器192和/或存储器290存储上文未描述的额外模块和数据结构。
参看图3,提供可与本公开一起使用的示例性客户端装置300的描述。在一些实施例中,客户端装置300包含智能手机(例如,iPhone、Android装置等)、膝上型计算机、平板计算机、桌上型计算机、可穿戴式装置(例如,智能手表、平视显示器(HUD)装置等)、电视机(例如,智能电视机)或另一形式的电子装置,例如游戏机、独立装置等。在一些实施例中,客户端装置300包含销售点装置(例如,近场通信机构等)。
图3中所示的客户端装置300具有一或多个处理单元(CPU的)392、外围设备接口364、存储器控制器368、网络或其它通信接口380、存储器307(例如,随机存取存储器)、用户接口374,所述用户接口374包含显示器376和输入端378(例如,键盘、小键盘、触摸屏等)、任选的加速计397、任选的GPS 372、任选的音频电路366、任选的扬声器360、任选的麦克风362、一或多个任选的强度传感器394、任选的输入/输出(I/O)子系统388、一或多个任选的光学传感器368、用于互连前述组件的一或多个通信总线342以及用于为前述组件供电的电力供应器358。
在一些实施例中,输入端378为触敏显示器376,例如触敏表面。在一些实施例中,用户接口374包含一或多个软键盘实施例(例如,输入端378)。在一些实施例中,软键盘实施例包含所显示图标上的标准(QWERTY)和或非标准符号配置。输入端378和/或用户接口374由相应客户端装置300的终端用户(例如,相应主体)利用以将各种命令(例如,推送命令)输入到相应客户端装置。
除一或多个加速计397之外,图3中示出的客户端装置300任选地包含磁力计和全球定位系统(GPS)372(或GLONASS或其它全球定位系统)接收器,以用于获得关于客户端装置300的当前位置(例如,纬度、经度、海拔等)和/或定向(例如,装置的纵向或横向定向)的信息。
应了解,图3中所示的客户端装置300仅是可用于接收应用程序更新并执行更新的多功能装置的一个实例。因此,客户端装置300任选地具有比示出的组件更多或更少的组件,任选地组合两个或更多个组件,或任选地具有组件的不同配置或布置。图3所示的各种组件以硬件、软件、固件或其组合实施,包含一或多个信号处理和/或专用集成电路。
图3中示出的客户端装置300的存储器307任选地包含高速随机存取存储器,且任选地还包含非易失性存储器,例如一或多个磁盘存储装置、快闪存储器装置或其它非易失性固态存储器装置。客户端装置300的其它组件(例如,一或多个CPU 392)对存储器307的存取任选地由存储器控制器368控制。
在一些实施例中,外围设备接口364将装置的输入和输出外围设备耦合到一或多个CPU 392和存储器307。一或多个CPU 392运行或执行存储在存储器307(例如,应用程序商店306)中的各种软件程序和/或指令集以执行客户端装置300的各种功能并处理数据。在一些实施例中,外围设备接口346配置成与销售点装置耦合。
在一些实施例中,外围设备接口364、一或多个CPU 392和存储器控制器368实施在单个芯片上。在一些其它实施例中,外围设备接口364、一或多个CPU 392和存储器控制器368实施在单独芯片上。
网络接口380的RF(射频)电路接收和发送RF信号,所述RF信号也称为电磁信号。在一些实施例中,使用本发明RF电路从与主体相关联的一或多个装置(例如,客户端装置300)接收数据结构。在一些实施例中,RF电路380将电信号转换为电磁信号且经由电磁信号与通信网络(例如,图1的通信网络106)和其它通信装置、客户端装置300和/或服务器200通信。RF电路380任选地包含用于执行这些功能的众所周知的电路,包含但不限于天线系统、RF收发器、一或多个放大器、调谐器、一或多个振荡器、数字信号处理器、CODEC芯片组、订户身份模块(SIM)卡、存储器等。RF电路380任选地与通信网络106通信。在一些实施例中,电路380不包含RF电路,且实际上通过一或多个硬导线(例如,光缆、同轴电缆等)连接到通信网络106。
在一些实施例中,音频电路366、任选的扬声器360和任选的麦克风362提供用户与客户端装置300之间的音频接口,从而使得客户端装置能够提供包含通过音频电路366、任选的扬声器360和/或任选的麦克风362提供的音频数据的通信。音频电路366从外围设备接口364接收音频数据,将音频数据转换为电信号并且将电信号传输到扬声器360。扬声器360将电信号转换为人类可听的声波。音频电路366还接收由麦克风362从声波转换而来的电信号。音频电路366将电信号转换为音频数据,且将音频数据传输到外围设备接口364以进行处理。音频数据任选地通过外围设备接口364从存储器307和或RF电路380检索和或传输到所述存储器和或RF电路。
在一些实施例中,电力供应器358任选地包含电力管理系统、一或多个电源(例如,一或多个电池、交流电(AC))、再充电系统、电力故障检测电路、电力转换器或逆变器、电力状态指示器(例如,发光二极管(LED))以及与便携式装置中电力的产生、管理和分布相关联的任何其它组件。
在一些实施例中,客户端装置300任选地还包含一或多个光学传感器368。一或多个光学传感器368任选地包含电荷耦合装置(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。一或多个光学传感器368接收来自环境的通过一或多个透镜投射的光并且将光转换为表示图像的数据。一或多个光学传感器368任选地捕获静态图像和或视频。在一些实施例中,光学传感器安置在客户端装置300的后端部分上(例如,与客户端装置300的前端部分上的显示器376相对),使得启用输入端378以用作静态和或视频图像采集的取景器。在一些实施例中,另一光学传感器368位于客户端装置300的前端部分上,使得获得用户的图像(例如,以捕获用户简档图像)。
在一些实施例中,客户端装置300的存储器307存储:
·操作系统302,其包含用于处置各种基本系统服务的过程;
·电子地址304,其与客户端装置300相关联;
·应用程序商店306,其存储一或多个应用程序216和可由一或多个应用程序216中的每一者存取的共享数据元素218;
·GPS驱动程序330,其提供客户端装置300的当前位置;
·音频驱动程序332,其通过客户端装置300提供可听声音;以及
·成像模块334,其提供图像和视频捕获功能。
如图3中所示出,客户端装置300优选包含操作系统302,所述操作系统包含用于处置各种基本系统服务的过程。操作系统302(例如,iOS、ANDROID、DARWIN、RTXC、LINUX、UNIX、OS X、WINDOWS或如VxWorks等嵌入式操作系统)包含用于控制和管理一般系统任务(例如,存储器管理、存储装置控制、电力管理等)的各种软件组件和或驱动程序并且促进各种硬件和软件组件之间的通信。
电子地址304与每一客户端装置300相关联,所述客户端装置用于至少从整合系统100的其它装置和组件唯一地识别客户端装置300(例如,在图2的对应客户端装置记录208中识别相应客户端装置300)。在一些实施例中,客户端装置300包含系列编号,以及任选地进一步识别装置300的型号或制造商信息。在一些实施例中,与客户端装置300相关联的电子地址304用于提供从客户端装置300接收和/或提供到所述客户端装置的数据源。举例来说,在一些实施例中,利用电子地址304识别相应应用程序组214的共享数据元素218内的数据源。
应用程序商店306包含用于一或多个应用程序216(例如,图7A的第一应用程序216-1、图7A的第二应用程序216-2、图7B的第一应用程序216-1等)的数据和可由同一应用程序组214中的每一应用程序216存取的共享数据元素218。在一些实施例中,应用程序商店306提供用于执行一或多个应用程序216的虚拟环境。然而,本公开不限于此。举例来说,在一些实施例中,应用程序商店306对应于服务器200处的相应应用程序组214。在其它实施例中,应用程序商店302包含共同属于两个或更多个应用程序组214的多个应用程序214的数据。以此方式,应用程序商店306可形成与两个或更多个应用程序组214中的第一应用程序组214-1中的每一应用程序216相关联的第一共享数据元素218-1,以及与两个或更多个应用程序组214中的第二应用程序组214-2中的每一应用程序216一起使用的第二共享数据元素。
如果针对第二应用程序216-2的更新包含错误或在其它情况下无法部署在客户端装置300处,那么使共享数据元素218可由同一应用程序组214的每一应用程序216存取允许第一应用程序216-1保存第二应用程序216-2的数据。借此,本公开节省原本必须在客户端装置300处更新第一应用程序216-1消耗的时间。
在一些实施例中,客户端装置300包含GPS驱动程序330。GPS驱动程序330利用来自GPS 372的数据提供客户端装置300的当前位置。在一些实施例中,客户端装置300的当前位置包含客户端装置300的一或多个GPS坐标(例如,纬度坐标和/或经度坐标)、客户端装置的海拔坐标、当前位置的公差(例如,在所提供的GPS坐标的±65秒的范围内)、与相应客户端装置300的位置标识符相关联的数据或其组合。
在一些实施例中,客户端装置300具有在图3中所描绘的系统中存在的电路、硬件组件和软件组件中的任一者或全部。为了简洁和清晰起见,仅示出了客户端装置300的可能组件中的几个以便更好地强调安装在客户端装置上的额外软件模块。
现在已经公开用于提供应用程序更新部署系统的整合系统100的细节,参考图4公开根据本公开的实施例的关于实施系统100的方法400的过程和特征的流程图的细节。
框402。参考图4的框402,提供用于部署应用程序(例如,图2的应用程序216-2、图7A的应用程序216-1、图7C的应用程序216-2等)更新的计算机系统(例如,图1的系统100)。计算机系统包含客户端装置(例如,图3的客户端装置300、图7A的客户端装置300-1、图7C的客户端装置300-1等),所述客户端装置具有显示器(例如,图3的显示器376)、一或多个处理器(例如,图3的CPU 392)和存储器(例如,图3的存储器307)以用于执行一或多个程序(例如,图7A的客户端应用程序216-2)。存储器307包含第一应用程序216-1(例如,图7A的应用程序216-1)和第二应用程序216-2(例如,图7A的应用程序216-2)。一或多个程序包含在由一或多个处理器执行时实行方法400的非暂时性指令。
在一些实施例中,第一应用程序216-1和第二应用程序216-2与同一应用程序组214相关联。举例来说,在一些实施例中,第一应用程序216-1和第二应用程序216-2各自包含与对应应用程序组214相关联的组标识符。每一应用程序组214包含可由相应应用程序组214中的每一应用程序216存取的对应共享数据元素218。在一些实施例中,每一应用程序包含对共享数据元素218进行读取、写入、复制或其组合。在一些实施例中,基于与对应应用程序216相关联的相应版本标识符的评估而确定权限的其组合。在一些实施例中,共享数据元素218存储在客户端装置300上、服务器200上(例如,在容器内)或其组合。在一些实施例中,第一应用程序216-1和第二应用程序216-2通过通信网络106通信。此外,在一些实施例中,系统100提供软件接口,所述软件接口提供用于服务器200与相应客户端装置300之间的通信的接口。此软件接口至少部分地安装在相应客户端装置300的存储器307中,从而允许客户端装置和服务器200彼此通信且在其间传输信息(例如,共享数据元素218、相应应用程序216的组标识符(例如,应用程序组214)、相应应用程序216的版本标识符等)。因此,如果部署包含严重错误的应用程序(例如,第一应用程序216-1),那么共享数据元素218允许客户端装置300恢复到应用程序的不同版本(例如,第二应用程序216-2)。
在一些实施例中,服务器200包含应用程序门控数据结构。对于每一应用程序组214,此应用程序门控数据结构包含将应用程序中的一个应用程序识别为处于活动状态的活动状态指示符。
在一些实施例中,方法包含接收针对第一应用程序216-1的更新。在一些实施例中,针对第一应用程序216-1的更新包含修改与应用程序相关联的标识符,例如版本标识符和/或部署状态标识符。因此,在一些实施例中,客户端装置300将针对第一应用程序216-1的更新的请求传送到服务器200(例如,客户端装置推送来自服务器的更新)。在一些实施例中,服务器300将针对第一应用程序216-1的更新传送到一或多个客户端装置300(例如,服务器将更新推送到一或多个客户端装置300)。
此外,在一些实施例中,在预定时间段处进行接收更新。在一些实施例中,预定时间段随一天中的时间而变(例如,在常规业务时间外、在夜间等接收更新)、随通信网络106的带宽而变(例如,根据通信网络的带宽满足阈值带宽的确定)或随相应客户端装置300的用户偏好和/或设置而变。
框404。参考框404,方法400包含接收执行第一应用程序216-1的命令。在一些实施例中,在客户端装置300处接收待执行的命令。举例来说,在一些实施例中,用户通过客户端装置300的输入端378或在适用的情况下通过客户端装置的显示器376(例如,触敏显示器376)输入命令。作为非限制性实例,在一些实施例中,用户输入在与第一应用程序相关联的图形图标(例如,图7A的第三图形图标216-1)处引导的命令。在一些实施例中,由服务器200提供待执行的命令。允许服务器200提供命令以阻止客户端装置300的用户选择非活动应用程序216(例如,应用程序具有与非活动状态相关联的部署标识符),且消除用户对客户端装置300上的哪一应用程序216为活动状态应用程序216的不明确性。
举例来说,在一些实施例中,响应于接收到命令,第一应用程序216-1获得应用程序门控数据结构(例如,图2的应用程序商店212)的应用程序组214中的第一应用程序216-1的身份,例如与第一应用程序216-1相关联的版本标识符和/或部署标识符。在一些实施例中,此获得第一应用程序216-1的身份经由通信网络106通过客户端装置300的接口软件进行。举例来说,在一些实施例中,客户端装置300与服务器200通信以获得与第一应用程序216-1相关联的版本标识符和/或部署标识符(例如,从图2的客户端装置记录存储区206和/或应用程序数据库212获得)。然而,本公开不限于此。举例来说,在一些实施例中,将标识符和/或部署标识符从服务器200传送到客户端装置300,且接着在客户端装置300本地获得(例如,评估)。
框406。参考框406,方法400包含响应于接收到执行第一应用程序216-1的命令而确定第一应用程序216-1的部署标识符。在一些实施例中,与对应应用程序216相关联的部署标识符选自由活动部署状态和非活动部署状态组成的组。活动部署状态指示可在客户端装置300上执行的相应应用程序216。另一方面,非活动部署状态指示不可执行或部分可执行(例如,执行以重新引导到第二应用程序216-2)的相应应用程序2316。举例来说,在一些实施例中,第一应用程序216-1包含使第一应用程序216-1不可用于其预期用途的错误;然而,所述错误并不使第一应用程序216-1彻底无效。因而,第一应用程序216-1可执行,但与第一应用程序216-1相关联的非活动部署状态标识符阻止第一应用程序216-1可用于客户端装置300处。然而,本公开不限于此。
在一些实施例中,根据确定第一应用程序216-1的部署标识符为非活动部署状态,方法包含向客户端装置300的用户(例如,在客户端装置300的显示器376上)显示提示。在一些实施例中,提示为执行第二应用程序216-2(例如,而非第一应用程序216-1)的提示、终止第一应用程序216-1的提示、下载针对第二应用程序216-2的更新的提示或其组合。然而,本公开不限于此。举例来说,在一些实施例中,如提示所阐述,提示在进行之前需要用户确认(例如,继续进行到图4的框408)。然而,本公开不限于此。
框408。参考框408,方法进一步包含响应于确定第一应用程序的部署状态执行第一应用程序216-1或第二应用程序216-2。在一些实施例中,根据确定第一应用程序216-1的部署标识符为活动部署状态,执行第一应用程序216-1(例如,而非第二应用程序216-2)。类似地,根据确定第一应用程序216-1的部署标识符为非活动部署状态,执行第二应用程序216-2(例如,而非第一应用程序216-2)。
在一些实施例中,在显示提示之后执行第二应用程序216-2(例如,在从最初显示提示以来经过预定时间段之后执行第二应用程序216-2)。以此方式,在客户端装置300处无来自用户的输入(例如,通过与执行(即,部署)第一应用程序216-1相关联的用户输入)的情况下,服务器200可在客户端装置300处执行第二应用程序216-2。
在一些实施例中,根据确定执行第一应用程序216-1,将第二应用程序216-2置于停用状态。类似地,在一些实施例中,根据确定执行第二应用程序216-2,将第一应用程序216-1置于停用状态。在一些实施例中,停用状态包含从客户端装置300卸载相应应用程序。在一些实施例中,停用状态包含从客户端装置300的用户接口移除相应应用程序216(例如,从客户端装置300的用户接口移除或隐藏与相应应用程序216相关联的图7A的图标600)。在一些实施例中,停用状态包含指示停用状态的唯一图形表示(例如,图7A的图形图标600-3)。此图形表示包含修改与相应应用程序216相关联的图形图标600(例如,将图标修改为预定颜色,例如灰色或黑色,或将预定图形图像与图形图标600合并)。因此,客户端装置300的用户具备相应应用程序216处于停用状态的视觉指示,其指示应改为执行具有活动状态的第二应用程序216-2。
在一些实施例中,响应于确定第一应用程序216-1处于活动状态,第一应用程序216-1继续在客户端装置300上运行。以此方式,通过阻止或临时禁止第一应用程序216-1在客户端装置300上运行,客户端装置300并不妨碍客户端装置300上的第一应用程序216-1和/或客户端装置300的资源的可用性。然而,本公开不限于此。
在一些实施例中,响应于确定第二应用程序216-2处于活动状态,第一应用程序216-1在客户端装置300上终止(例如,与第一应用程序216-1相关联的一或多个处理程序在客户端装置300的存储器中终止)。因此,在一些实施例中,第二应用程序216-2例如响应于第一应用程序216-1的终止或与所述终止同步执行。第二应用程序216-2的此执行检索客户端装置300和/或服务器200上的共享数据元素218中的一些或全部,从而允许第二应用程序216-1利用由第一应用程序216-1传送的共享数据元素218,例如,图6A和6B的交易共享数据元素218-1。因此,允许具有活动状态的第二应用程序216-2在客户端装置300上运行,同时保存与非活动应用程序216(例如,第一应用程序216-1)相关联的共享数据元素218。在一些实施例中,共享数据元素短暂地存储在客户端装置300和/或服务器200处。然而,本公开不限于此。
在一些实施例中,活动状态(例如,部署标识符和/或版本标识符)是唯一的,使得两个唯一应用程序216无法各自具有活动状态。然而,本公开不限于此。在一些实施例中,获得一个活动应用程序216的身份包含将查询提供到服务器200以获得相应应用程序214的身份。在一些实施例中,查询提供为客户端装置300所提供的应用程序编程接口(API)调用。在一些实施例中,响应于由客户端装置300的用户提供的命令,或类似地响应于由服务器200提供的命令而提供查询。以此方式,服务器200可在不直接和/或远程存取客户端装置300的情况下修改与相应应用程序216相关联的标识符。由此,服务器200可基于与传送到客户端装置300的相应应用程序216相关联的一或多个标识符(即,状态)而禁止在客户端装置300处利用相应应用程序216。
现在已经公开用于提供应用程序更新部署系统的方法400的细节,参考图5公开根据本公开的实施例的关于实施系统100的方法500的过程和特征的流程图的细节。
框502。参考图2的框502,方法500在客户端装置(例如,图3的客户端装置300-1,图7A的客户端装置300-1等)处进行。客户端装置包含一或多个处理器(例如,图3的CPU 392)和存储器(例如,图3的存储器307)。另外,客户端装置通过通信网络(例如,图1的通信网络106)以通信方式耦合到服务器(例如,服务器200)。
方法500包含从服务器200获得应用程序组中的应用程序(例如,图2的第一应用程序组214-1的第二应用程序216-2)的身份。身份的此获得是响应于在客户端装置上运行第一应用程序216-1的命令。此外,此命令通过通信网络106传送。举例来说,在一些实施例中,用户通过客户端装置300输入(例如,通过图7A的图形图标600输入)执行第一应用程序216-1的命令,例如轻触客户端装置的显示器376,其中轻触指向与第一应用程序216-1相关联的图形图标600。随后通过通信网络将此命令传送到服务器200。
此外,应用程序214包含第一应用程序216-1且应用程序214中仅一个应用程序216被指定为在任何给定时间处于活动状态。举例来说,在一些实施例中,第一应用程序216-1被指定为处于活动状态,这意味着除第一应用程序216-1外,应用程序组214中的每一应用程序216被指定为处于非活动状态(例如,包含非活动部署标识符)。以此方式,如果第三应用程序216-3从非活动标示(例如,非活动部署标识符)修改为活动标示(例如,活动部署标识符),那么作为响应,第一应用程序216-1从活动标示进一步修改为非活动标示。然而,本公开不限于此。举例来说,在一些实施例中,应用程序216中的两个或更多个应用程序216被指定为在给定时间处于活动状态。此外,在一些实施例中,少于应用程序组214中所有应用程序的应用程序216的应用程序216的子集被指定为处于活动状态。以此方式,应用程序组214中的至少一个应用程序216被指定为处于非活动状态。
在一些实施例中,客户端装置300为移动装置,例如智能手机或智能手表。在一些实施例中,客户端装置为触摸屏移动装置。以此方式,在一些实施例中,第一应用程序216-1和第二应用程序216-2配置成在Android操作系统302、iOS操作系统302或这两者上运行。
在一些实施例中,第一应用程序216-1和第二应用程序216-2为单个销售点(POS)软件应用程序216的不同版本。然而,本公开不限于此。举例来说,在一些实施例中,第一应用程序216-1和第二应用程序216-2为通信软件应用程序的不同版本(例如,打开第一客户端装置300-1、第二客户端装置300-2、服务器200或其组合之间的通信通道的软件应用程序216)。
此外,在一些实施例中,方法400利用多个客户端装置300,例如,一或多个客户端装置300、两个或更多个客户端装置300、十个或更多个客户端装置300、五十个或更多个客户端装置300、一百个或更多个客户端装置300、一千个或更多个客户端装置或更多,或一万个或更多个客户端装置300。以此方式,方法500可与众多客户端装置300处的应用程序216通信且控制所述应用程序的使用,从而极大地减少每一客户端装置300的网络106带宽和用户的带宽的消耗。
在一些实施例中,获得被指定为处于活动状态的单个应用程序216的身份包含将查询提供到服务器200以获得应用程序组214中处于活动状态的单个应用程序216的身份。举例来说,在一些实施例中,客户端装置300针对具有活动标识符的单个应用程序216以应用程序编程接口(API)调用的形式提供查询。然而,本公开不限于此。在一些实施例中,获得单个应用程序216的标识符的查询是获得第一应用程序216-1的身份的特定查询。然而,本公开不限于此。
框504。参考框504,方法500包含继续在客户端装置300上运行第一应用程序216-1。举例来说,在一些实施例中,响应于确定第一应用程序216-1的身份匹配应用程序组214中被指定为处于活动状态的单个应用程序216的标识符(例如,包含活动部署标识符),第一应用程序216-1继续在客户端装置300上运行。作为非限制性实例,响应于由客户端装置针对具有含活动标示的标识符的单个应用程序216提供的查询。在一些实施例中,第一应用程序216响应于确定第一应用程序216-1为单个应用程序216而运行,使得客户端装置300在获得响应之前不执行第一应用程序216-1。然而,本公开不限于此。在一些实施例中,相应应用程序216的身份的确定是基于包括与应用程序组214的相应应用程序和/或每个应用程序216相关联的每一标识符的列表的表的评估。
框506。参考框506,方法500包含响应于确定应用程序组214中的第二应用程序216-2的身份匹配应用程序组214中被指定为处于活动状态的单个应用程序的身份而执行过程。过程包含终止第一应用程序216-1且执行第二应用程序216-2。执行检索存储在客户端装置300上的共享数据元素(例如,图2的共享数据元素218)的全部或一部分。此外,共享数据元素218在第一应用程序216-1与第二应用程序216-2之间共享。此共享数据元素218允许具有活动状态的应用程序216运行,同时保存与非活动应用程序218相关联的共享数据218。
在一些实施例中,过程进一步包含修改与第一应用程序相关联的图形用户接口图标(例如,图7A的图形用户接口图标600-3)。在一些实施例中,修改图形用户接口图标600包含修改图形图标600的外观,例如图形图标600的颜色、图形图标600的颜色、图形图标600的透明度等。在一些实施例中,修改包含用与非活动标示相关联的第二图形图标600-2替换与第一应用程序216-1相关联的第一图形图标600-1。
在一些实施例中,过程进一步包含使用第二应用程序216-2执行采购交易。采购交易包含形成与销售点平台相关联的第一实体与第二实体之间的交易合同所需的多个过程和信息。以此方式,在一些实施例中,共享数据元素218包含由第一应用程序216-1执行的采购交易的交易标识符。由此,方法500允许在运行第一应用程序216-1的第一客户端装置300-1处发起和/或完成交易,且允许运行第一应用程序216-1的第二客户端装置300-2和/或运行第二应用程序216-1的第一客户端装置300-1从在第一客户端装置300-1处发起和/或完成的交易存取和利用共享数据元素218。
在一些实施例中,共享数据元素218包含由第一应用程序执行的采购交易的AMEX交易标识符、金额(例如,交易值)、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址(例如,图3的电子地址304)、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。所属领域的技术人员将认识到在本公开范围内的其它标识符和共享数据元素218。
在一些实施例中,用于第一应用程序216-1和第二应用程序216-2的对应共享数据元素218包含操作系统版本的标识,例如与客户端装置300的操作系统302相关联的版本标识符。以此方式,第一应用程序216-1可包含用于多于一种类型的操作系统302的活动部署标识符。
在一些实施例中,用于第一应用程序218-1和第二应用程序216-2的对应共享数据元素218包含存储滑板(即,单个大型昂贵磁盘(“SLED”))初始化指示、存储滑板监测指示、存储滑板功率监测指示、存储滑板状态或其组合。以此方式,对应共享数据元素218提供关于服务器200和/或一或多个客户端装置300的存储状态的信息。
在一些实施例中,用于第一应用程序218和第二应用程序218的对应共享数据元素218包含数据库位置(例如,与客户端装置300相关联的数据库的位置、与服务器200相关联的数据库的位置或这两者)、数据库存储类型、配置名称、商店标识符(例如,与实体店相关联的位置标识符)、雇员标识符或其组合。在一些实施例中,雇员标识符包含交易的相应雇员的指示。以此方式,对应共享数据元素218包含关于与对应共享数据元素218相关联的位置和/或主体的信息。
参看图6,示出了用于配置应用程序组214的示例性用户接口。在本示例性实施例中,关于iOS描述系统。然而,本公开不限于此。
在一些实施例中,为了使得同一应用程序组214中的一或多个应用程序216能够存取共享数据元素218,启用(例如,在Xcode中启用)多个应用程序组216功能(例如,图6的功能502),从而允许第一应用程序216-1与具有相同组标识符(例如,与对应应用程序组214相关联)的其它应用程序216传送和共享数据218。
因此,由于对应应用程序组214中的应用程序216可彼此通信,因此第一应用程序216-1或类似地具有含第一应用程序216-1的应用程序商店306的客户端装置300可读取第二应用程序216-2和/或第一应用程序216-1的状态(例如,部署标识符、版本标识符、位置标识符等)。
在一些实施例中,应用程序组214包含容器。在此类实施例中,通过读取与应用程序组214相关联的容器的共享数据218(例如,获得图2的客户端装置记录存储区206和/或应用程序数据库212的标识符)来进行相应应用程序216的状态的此读取。以此方式,共享数据元素218包含用于对应应用程序组216中的每一应用程序216的对应版本标识符和/或部署标识符。由此,可通过从服务器200获得共享数据元素218来确定每一应用程序216的状态。
在一些实施例中,共享数据元素218包含交易数据(例如,先前交易标识符、图6A和6B的共享数据元素218-1)、滑板初始化状态、操作系统版本(例如,图2的操作系统204、图3的操作系统304)、交易记录(例如,TR)版本等。
在一些实施例中,通过共享数据元素共享数据的应用程序是单个销售点(POS)软件应用程序的不同版本。在一些实施例中,共享数据元素218包括由第一应用程序执行的采购交易的交易标识符。在一些此类实施例中,共享数据元素包括由第一应用程序执行的采购交易的AMEX交易标识符(AMEX分配到每一交易的交易ID)、金额(例如,交易金额)、授权代码(在交易通过时由信用卡处理器返回的代码)、AVS街道匹配(针对街道号码和名称的AVS检查的结果)、AVS邮政编码匹配(针对邮政编码的AVS检查的结果)、结算批号(例如,第一值意味着交易尚未结算,而其它任何值指示交易已结算)、账单地址(与交易一起提交的街道地址)、卡安全码匹配、客户端IP地址(例如,交易提交到的网络服务器的IP地址)、信用卡有效期、客户代码、采购商品描述、折扣金额(应用到交易的任何折扣)、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型(用于交易的信用卡的类型)、时戳(交易发生的日期和时间)或通用定价代码(描述交易中排列项的单位的字符串)。
在一些实施例中,共享数据元素218包括其中程序正在运行的操作系统版本的标识。在一些实施例中,共享数据元素218包括存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。在一些实施例中,共享数据元素218包括数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
在一些实施例中,共享数据元素218包含10个或更多个交易、100个或更多个交易或1000个或更多个交易的交易数据。在一些实施例中,共享数据元素218包含2个或更多个销售人员、5个或更多个销售人员或20个或更多个销售人员的交易数据。在一些实施例中,共享数据元素218包含2个或更多个顾客、5个或更多个顾客或20个或顾客的交易数据。
在一些实施例中,共享数据元素218的读取包含使用具有共享容器位置的永久性存储协调器。举例来说,在一些实施例中,从客户端装置记录存储区206获得相应位置标识符,使得获得关于与相应位置标识符相关联的每一客户端装置300的数据。以此方式,服务器可针对预定位置(例如,特定商店)处的一或多个应用程序组214修改应用程序216的状态(status和/或state)(例如,更新、执行、卸载、终止等)。举例来说,在一些实施例中,用于此类读取的伪代码包含:
let fileManager=FileManager.default
let groupDirectory=
fileManager.containerURL(forSecurityApplicationGroupIdentifier:
"group.com.entity.ngpos.usersession"
var
coredblocation=groupDirectory.appendingPathComponent("sharecoredb.sqlite")
print(coredblocation)
var localcoordinator:NSPersistentStoreCoordinator?=
NSPersistentStoreCoordinator(managedObjectModel:self.managedObjectModel)
do{
try localcoordinator!.addPersistentStore(ofType:NSSQLiteStoreType,
configurationName:nil,at:coredblocation,options:nil)
}catch var error as NSError{
localcoordinator=nil
NSLog("Unresolved error\(error),\(error.userInfo)")
在一些实施例中,为了通过第一应用程序216-1和第二应用程序216-2两者利用共享数据元素218,用户默认类与套件名称一起用作组名(例如,下者的伪代码:UserDefaults(suitename:“group.com.entity.ngpos.usersession)。因此,如果执行第一应用程序216-1,那么应用程序将向服务器200提供查询(例如,应用程序编程接口(API)查询)以确定应用程序216中的哪一者具有活动状态。在一些实施例中,查询是针对服务器200的客户端装置记录存储区206的信息的请求。如果执行的应用程序不具有活动状态,那么在一些实施例中,修改与执行的应用程序相关联的图标和/或在用户装置上显示指示执行具有活动状态的应用程序216(例如,第二应用程序216-2)的提示。
因此,根据本公开的示例性实施例的应用程序更新部署服务实现允许应用程序组在其相应寿命周期期间共享数据的优点。此共享数据元素显著减少从第一应用程序恢复到第二应用程序的时间量,这是由于恢复过程不需要下载或安装共享数据元素。此外,服务提供每一客户端装置的记录且在相应客户端装置上启用其特征,从而允许用户远程操控每一装置的特征。另外,本公开允许在不具有对远程装置的直接控制或远程控制能力的情况下控制远程装置处的应用程序。因此,防止远程装置的用户利用不应利用的应用程序,例如,应用程序的易错或测试版本。
已经出于说明和描述的目的呈现对本发明的具体示例性实施例的前述描述。前述描述并不意图为详尽的或将本发明限于所公开的精确形式,且显然,鉴于以上教示,许多修改和变化是可能的。选择和描述示例性实施例以便阐释本发明的某些原理及其实际应用,进而使得所属领域的其它技术人员能够制作和利用其各种替代方案和修改。预期本发明的范围由所附权利要求书及其等效物限定。

Claims (48)

1.一种系统,其包括:
服务器,其以通信方式耦合到通信网络,所述服务器包括应用程序门控数据结构;
客户端装置,其以通信方式耦合到所述通信网络,所述客户端装置包括处理器和存储器;以及
软件接口,其提供所述服务器与所述客户端装置之间的接口,所述软件接口至少部分地安装在所述客户端装置的所述存储器中,其中:
所述软件接口配置成通过所述通信网络在所述客户端装置与所述服务器之间通信,以便在所述客户端装置与所述服务器之间传输信息,
所述存储器存储应用程序组,所述应用程序组包括各自配置成在所述客户端装置上运行的第一应用程序和第二应用程序,
所述第一和第二应用程序各自以通信方式耦合到所述通信网络,
所述第一和第二应用程序具有存储在所述存储器中的共享数据元素,
对于所述应用程序组,所述应用程序门控数据结构包括将所述应用程序组中的单个应用程序识别为处于活动状态的活动状态指示符,且
其中所述第一应用程序:
响应于在所述客户端装置上运行所述第一应用程序的命令,经由所述通信网络从所述客户端装置的所述软件接口获得所述应用程序组中处于活动状态的所述单个应用程序的身份;
响应于确定所述第一应用程序的身份匹配所述应用程序组中处于活动状态的处于活动状态的所述单个应用程序的所述身份,继续在所述客户端装置上运行所述第一应用程序,以及
响应于确定所述第二应用程序的身份匹配所述应用程序组中处于活动状态的所述单个应用程序的所述身份,执行过程,所述过程包括:
终止所述第一应用程序,以及
执行所述第二应用程序,其中所述执行检索存储在所述客户端装置上的所述共享数据元素的全部或一部分,由此允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据。
2.根据权利要求1所述的系统,其中所述第一和第二应用程序进一步具有存储在所述服务器上的共享数据源。
3.根据权利要求1或2所述的系统,其中所述获得所述身份包括将查询提供到所述服务器以获得所述应用程序组中处于活动状态的所述单个应用程序的所述身份。
4.根据权利要求1至3中任一项所述的系统,其中所述过程进一步包括修改与所述第一应用程序相关联的图形用户接口图标。
5.根据权利要求1至4中任一项所述的系统,其中所述客户端装置为移动装置。
6.根据权利要求1至5中任一项所述的系统,其中所述第一应用程序和所述第二应用程序为单个销售点(POS)软件应用程序的不同版本。
7.根据权利要求6所述的系统,其中所述过程进一步包括使用所述第二应用程序执行采购交易。
8.根据权利要求6所述的系统,其中所述共享数据元素包括由所述第一应用程序执行的采购交易的交易标识符。
9.根据权利要求6所述的系统,其中所述共享数据元素包括由所述第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
10.根据权利要求6所述的系统,其中所述共享数据元素包括操作系统版本的标识。
11.根据权利要求6所述的系统,其中所述共享数据元素包括存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
12.根据权利要求6所述的系统,其中所述共享数据元素包括数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
13.一种方法,其包括:
在通过通信网络以通信方式耦合到服务器的客户端装置处,所述客户端装置包括处理器和存储器:
响应于在所述客户端装置上运行第一应用程序的命令,经由所述通信网络从所述服务器获得应用程序组中被指定为处于活动状态的应用程序的身份,其中所述应用程序组包含所述第一应用程序且所述应用程序组中仅一个应用程序被指定为在任何给定时间处于活动状态;
响应于确定所述第一应用程序的身份匹配所述应用程序组中被指定为处于活动状态的所述单个应用程序的所述身份,继续在所述客户端装置上运行所述第一应用程序,以及
响应于确定所述应用程序组中的第二应用程序的身份匹配所述应用程序组中被指定为处于活动状态的所述单个应用程序的所述身份,执行过程,所述过程包括:
终止所述第一应用程序,以及
执行所述第二应用程序,其中所述执行检索存储在所述客户端装置上的共享数据元素的全部或一部分,其中所述共享数据元素在所述第一应用程序与所述第二应用程序之间共享,由此允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据。
14.根据权利要求13所述的方法,其中所述获得所述身份包括将查询提供到所述服务器以获得所述应用程序组中处于活动状态的所述单个应用程序的所述身份。
15.根据权利要求13或14所述的方法,其中所述过程进一步包括修改与所述第一应用程序相关联的图形用户接口图标。
16.根据权利要求13至15中任一项所述的方法,其中所述客户端装置为移动装置。
17.根据权利要求13至16中任一项所述的方法,其中所述第一应用程序和所述第二应用程序为单个销售点(POS)软件应用程序的不同版本。
18.根据权利要求17所述的方法,其中所述过程进一步包括使用所述第二应用程序执行采购交易。
19.根据权利要求17所述的方法,其中所述共享数据元素包括由所述第一应用程序执行的采购交易的交易标识符。
20.根据权利要求17所述的方法,其中所述共享数据元素包括由所述第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
21.根据权利要求17所述的方法,其中所述共享数据元素包括操作系统版本的标识。
22.根据权利要求17所述的方法,其中所述共享数据元素包括存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
23.根据权利要求17所述的方法,其中所述共享数据元素包括数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
24.一种非暂时性计算机可读存储媒体,其存储至少一个程序以用于允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据,所述至少一个程序配置成由计算机执行,所述至少一个程序包括用于以下操作的指令:
响应于在客户端装置上运行第一应用程序的命令,经由通信网络从所述通信网络上的服务器获得应用程序组中被指定为处于活动状态的应用程序的身份,其中所述应用程序组包含所述第一应用程序且所述应用程序组中仅一个应用程序被指定为在任何给定时间处于活动状态;
响应于确定所述第一应用程序的身份匹配所述应用程序组中被指定为处于活动状态的所述单个应用程序的所述身份,继续在所述客户端装置上运行所述第一应用程序,以及
响应于确定所述应用程序组中的第二应用程序的身份匹配所述应用程序组中被指定为处于活动状态的所述单个应用程序的所述身份,执行过程,所述过程包括:
终止所述第一应用程序,以及
执行所述第二应用程序,其中所述执行检索存储在所述客户端装置上的共享数据元素的全部或一部分,其中所述共享数据元素在所述第一应用程序与所述第二应用程序之间共享,由此允许具有活动状态的应用程序运行,同时保存与非活动应用程序相关联的共享数据。
25.一种计算机实施的方法,其包括:
在服务器处:
将多个应用程序和多个客户端装置的记录存储在所述服务器的存储器中,其中:
所述多个应用程序中的每一相应应用程序包括指示与所述相应应用程序相关联的组的对应组标识符以及指示所述相应应用程序的版本的对应版本标识符,
对于所述多个客户端装置中的每一相应客户端装置,所述多个客户端装置的所述记录包括安装在所述相应客户端装置上的所述多个应用程序中的每一应用程序的版本标识符,
所述多个应用程序中的第一应用程序具有第一组标识符和第一版本标识符,
所述多个应用程序中的第二应用程序具有所述第一组标识符和第二版本标识符,
所述第一应用程序和所述第二应用程序各自配置成在所述多个客户端装置中的每一相应客户端装置上运行,其中具有对应共同组标识符的所述多个应用程序中的每一相应应用程序包含与所述对应共同组标识符相关联的对应共享数据元素;
在所述服务器处接收针对所述第一应用程序的更新,其中所述更新包含修改所述第一应用程序的所述版本标识符以指示与所述更新相关联的版本;
将针对所述第一应用程序的所述更新传送到所述多个客户端装置中的第一客户端装置;以及
在所述服务器处接收修改用于所述多个应用程序中的应用程序的子集的所述版本标识符的命令,其中对于所述多个客户端装置中的每一相应客户端装置,所述版本标识符的所述修改指示所述多个应用程序中的哪一应用程序能够在所述相应客户端装置上执行。
26.根据权利要求25所述的方法,其中所述多个应用程序中的每一应用程序包括指示所述相应应用程序的部署状态的对应部署标识符。
27.根据权利要求26所述的方法,其中所述对应部署标识符选自由活动部署状态和非活动部署状态组成的组。
28.根据权利要求25至27中任一项所述的方法,其中对于所述多个客户端装置中的每一相应客户端装置,所述多个客户端装置的所述记录进一步包括与所述相应客户端装置相关联的对应位置标识符。
29.根据权利要求28所述的方法,其中所述对应位置标识符包含与所述客户端装置相关联的物理地址。
30.根据权利要求25至29中任一项所述的方法,其中将具有对应共同组标识符的所述多个应用程序中的每一应用程序存储在所述服务器上与所述对应共同组标识符相关联的单个对应容器中。
31.根据权利要求25至30中任一项所述的方法,其中针对所述第一应用程序的所述更新进一步包括修改与所述第一应用程序相关联的图形显示图标。
32.根据权利要求25至31中任一项所述的方法,其中所述传送针对所述第一应用程序的所述更新是响应于来自所述第一客户端装置的针对经更新应用程序的请求。
33.根据权利要求25至31中任一项所述的方法,其中所述传送针对所述第一应用程序的所述更新是响应于由所述服务器提供到所述第一客户端装置的命令。
34.根据权利要求25至33中任一项所述的方法,其中所述传送针对所述第一应用程序的所述更新在预定时间段内进行。
35.根据权利要求25至33中任一项所述的方法,其中所述传送针对所述第一应用程序的所述更新根据与所述服务器和所述多个客户端装置中的一或多个客户端装置相关联的通信网络的可用带宽的确定而进行。
36.根据权利要求25至36中任一项所述的方法,其中用于包括所述第一和第二应用程序的共同组的所述对应共享数据元素包括由所述第一应用程序写入的第一数据和由所述第二应用程序写入的第二数据。
37.根据权利要求25至36中任一项所述的方法,其中所述多个客户端装置中的每一客户端装置为移动装置。
38.根据权利要求25至37中任一项所述的方法,其中所述第一应用程序和所述第二应用程序为单个销售点(POS)软件应用程序的不同版本。
39.根据权利要求38所述的系统,其中用于所述第一和第二应用程序的所述对应共享数据元素包括由所述第一应用程序执行的采购交易的交易标识符。
40.根据权利要求38所述的系统,其中用于所述第一和第二应用程序的所述对应共享数据元素包括由所述第一应用程序执行的采购交易的AMEX交易标识符、金额、授权代码、AVS街道匹配、AVS邮政编码匹配、结算批号、账单地址、卡安全码匹配、客户端IP地址、信用卡有效期、客户代码、采购商品描述、折扣金额、数量、送货地址、送货方式、送货电话号码、税额、税率、付款类型、时戳或通用定价代码。
41.根据权利要求38所述的系统,其中用于所述第一和第二应用程序的所述对应共享数据元素包括操作系统版本的标识。
42.根据权利要求38所述的系统,其中用于所述第一和第二应用程序的所述对应共享数据元素包括存储滑板初始化指示、存储滑板监测指示、存储滑板功率监测指示或存储滑板状态。
43.根据权利要求38所述的系统,其中用于所述第一和第二应用程序的所述对应共享数据元素包括数据库位置、数据库存储类型、配置名称、商店标识符或雇员标识符。
44.根据权利要求25至43中任一项所述的系统,其中所述多个客户端装置包括两个或更多个客户端装置、一百个或更多个客户端装置、一千个或更多个客户端装置或一万个或更多个客户端装置。
45.一种计算机实施的方法,其包括:
在具有显示器、一或多个处理器和存储用于由所述一或多个处理器执行的一或多个程序的存储器的装置处,所述存储器进一步存储第一应用程序和第二应用程序,所述一或多个程序包括用于以下操作的指令:
A)接收执行所述第一应用程序的命令;
B)响应于所述接收A),确定所述第一应用程序的部署标识符,其中所述部署标识符选自由活动部署状态和非活动部署状态组成的组;
C)响应于所述确定B),执行所述第一应用程序或所述第二应用程序,其中:
根据确定所述第一应用程序的所述部署标识符为所述活动部署状态,执行所述第一应用程序而非所述第二应用程序,且
根据确定所述第一应用程序的所述部署标识符为所述非活动部署状态,执行所述第二应用程序而非所述第一应用程序。
46.根据权利要求45所述的方法,其中所述接收A)的所述命令由所述装置的用户提供。
47.根据权利要求45或46所述的方法,其中在所述执行C)之前,根据确定所述第一应用程序的所述部署标识符为所述非活动部署状态,所述方法进一步包括在所述显示器上显示执行所述第二应用程序的提示。
48.根据权利要求45至47中任一项所述的方法,其中:
根据确定执行所述第一应用程序,将所述第二应用程序置于停用状态,且
根据确定执行所述第二应用程序,将所述第一应用程序置于停用状态。
CN202080071227.9A 2019-08-16 2020-08-15 用于部署企业软件更新的系统和方法 Pending CN114556290A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962888333P 2019-08-16 2019-08-16
US62/888,333 2019-08-16
PCT/US2020/046583 WO2021034730A1 (en) 2019-08-16 2020-08-15 Systems and methods for deploying enterprise software updates

Publications (1)

Publication Number Publication Date
CN114556290A true CN114556290A (zh) 2022-05-27

Family

ID=74660267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080071227.9A Pending CN114556290A (zh) 2019-08-16 2020-08-15 用于部署企业软件更新的系统和方法

Country Status (3)

Country Link
US (2) US11675579B2 (zh)
CN (1) CN114556290A (zh)
WO (1) WO2021034730A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282435B (zh) * 2021-05-19 2023-06-20 维沃移动通信有限公司 应用异常的处理方法和电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3906994B2 (ja) * 2003-05-07 2007-04-18 ソニー株式会社 情報処理装置および方法、記録媒体、並びにプログラム
WO2005107417A2 (en) * 2004-05-04 2005-11-17 Price Robert M System and method for communicating with electronic devices
WO2006110979A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Implementing data-compatibility-based version scheme
WO2006110991A1 (en) * 2005-04-18 2006-10-26 Research In Motion Limited Method and system for controlling software version updates
EP1739552A1 (en) * 2005-06-21 2007-01-03 Hewlett-Packard Development Company, L.P. Software installation method and computer system
US8112508B1 (en) * 2006-09-08 2012-02-07 Dell Products L.P. Delivering data from device management services to devices using bulletin system
US9015710B2 (en) * 2011-04-12 2015-04-21 Pivotal Software, Inc. Deployment system for multi-node applications
US9032387B1 (en) * 2011-10-04 2015-05-12 Amazon Technologies, Inc. Software distribution framework
US20140007074A1 (en) * 2012-06-27 2014-01-02 Google Inc. Methods for updating applications
US10095501B2 (en) * 2013-03-15 2018-10-09 Oracle International Corporation Deployment and activation of updates on target hosts
US20160294605A1 (en) * 2014-07-07 2016-10-06 Symphony Teleca Corporation Remote Embedded Device Update Platform Apparatuses, Methods and Systems
US9535685B1 (en) * 2015-03-24 2017-01-03 EMC IP Holding Company LLC Smartly identifying a version of a software application for installation
US9787800B2 (en) * 2015-12-30 2017-10-10 Veniam, Inc. Systems and methods for remote software update and distribution in a network of moving things
CN107769949B (zh) * 2016-08-19 2021-02-12 华为技术有限公司 一种应用组件部署方法及部署节点
US10747527B2 (en) * 2016-11-01 2020-08-18 Johnson Controls Technology Company Multi-zone system with software update features
US10528479B2 (en) * 2017-06-02 2020-01-07 Huawei Technologies Co., Ltd. Global variable migration via virtual memory overlay technique for multi-version asynchronous dynamic software update

Also Published As

Publication number Publication date
WO2021034730A1 (en) 2021-02-25
US20210072970A1 (en) 2021-03-11
US11675579B2 (en) 2023-06-13
US20230273785A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
US10230791B2 (en) Electronic device and method for controlling execution of application in electronic device
US10565672B2 (en) Electronic device for composing graphic data and method thereof
US10692472B2 (en) Method and device for adjusting resolution of electronic device
US10560816B2 (en) Electronic device and method for setting software in electronic device
US9848072B2 (en) Electronic device monitoring method and apparatus
US20160253666A1 (en) Method and device for controlling payment function
US20170078160A1 (en) Method for processing services and electronic device for the same
US20170026421A1 (en) Apparatus and method for supporting back-up and restore of environment for performing a function
US10979867B2 (en) Electronic device and method for operating same
US11599837B2 (en) Method and system for selection of users in feature rollout
US10705681B2 (en) Electronic device and display method for selecting an area of an icon
US10671373B1 (en) Mechanism for automatically incorporating software code changes into proper channels
US11010749B2 (en) Payment processing method and electronic device supporting the same
US20230273785A1 (en) Systems and methods for deploying enterprise software updates
US11210147B2 (en) Electronic device for performing application-related interoperation, and method therefor
US20180054692A1 (en) Electronic device and system for providing content and method of providing content
US20210405987A1 (en) Dynamic driver selection based on firmware for a hardware component
US10574789B2 (en) Method for managing schedule and electronic device supporting the same
US20180191816A1 (en) Electronic device and application sharing method thereof
US20220391263A1 (en) Deployment of Services with Dependencies
EP3220332A1 (en) Method of processing card operating information and electronic device supporting the same
US11455318B2 (en) Data replication using probabilistic replication filters
US20230106021A1 (en) Method and system for providing customized rollout of features

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