CN108804881A - 受控应用分发 - Google Patents

受控应用分发 Download PDF

Info

Publication number
CN108804881A
CN108804881A CN201810516949.5A CN201810516949A CN108804881A CN 108804881 A CN108804881 A CN 108804881A CN 201810516949 A CN201810516949 A CN 201810516949A CN 108804881 A CN108804881 A CN 108804881A
Authority
CN
China
Prior art keywords
application
recipient
computer
sender
license
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
CN201810516949.5A
Other languages
English (en)
Other versions
CN108804881B (zh
Inventor
D·莫瓦特
T·法瑞尔
P·卡色曼
K·拉古帕蒂
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 CN108804881A publication Critical patent/CN108804881A/zh
Application granted granted Critical
Publication of CN108804881B publication Critical patent/CN108804881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Abstract

应用发送者可使用授权令牌来控制应用的分发和使用,该授权令牌封装由应用发送者提交的分发条款以及由应用的开发者提交的应用许可详述。应用发送者可访问应用商店并执行各种功能,诸如选择供应用接收者使用的一个或多个应用、将一个或多个应用组合成捆绑供应用接收者使用、和/或将若干应用组合以形成新的应用供应用接收者使用。应用接收者可根据分发条款所生成的授权令牌来使用应用。

Description

受控应用分发
本申请是申请日为2014年3月13日并且申请号为201480028441.0的同名中国专利申请的分案申请。
背景技术
技术产业正从用收缩性薄膜包装的软件模型进化成分发应用。可通过提供允许用户将应用下载至用户的计算机的位置或链接来将应用分发给用户。应用还可通过使软件产品提供的服务对用户可用来分发。服务递送的一个示例是“软件即服务”(SaaS)模型,其中软件产品被集中托管在用户可通过通信网络访问的远程服务器上。应用分发模型通常包含个人向应用商店支付金钱(或其它价值形式)以便使用应用。典型地,应用商店将交易总额的一定百分比以许可报酬的形式传递给应用的开发者。在许多应用商店,用户在应用商店中进行的购买被记录到该用户的身份。例如,用户被要求生成一个帐户或登录到现有帐户以便购买应用不是非典型的。虽然原因可能不同,但是这种情况常常会发生,以便追踪谁被授权使用该应用以及追踪该用户的许可权限。
以上描述的传统分发模型对于正在购买应用的使用供他们自身的娱乐或他们自身的生产力需要的个人而言可能工作良好。但是,由典型应用商店所提供的个体化的应用购买体验不能方便协作式环境。例如,建筑师的客户可能之前未购买过允许客户查看或编辑建筑师可能想要与该客户分享的规划的一个或多个应用。虽然可能对于这种情况存在各种原因,但是通常地,客户除了与建筑师协作之外不会有购买该应用的需要。在另一示例中,用户可能在做一个涉及多家公司的项目,并且希望另几家公司使用特定的项目管理应用。各公司可能不具有作出关于需要哪些应用来与该用户协作的明智决策的经验或专业技能。
传统应用市场提供针对以上所描述的问题的各种解决方案,但每种解决方案都是受限的。例如,每个用户可能仅仅他们自己购买了应用,但如上所阐述的,用户的经验和专业知识可能引起购买应用的价值的问题。另外,应用的用户可能不想创建账户或输入财务信息到应用商店用以购买可能使用较短时间的应用。还存在其他解决方案,其中为特定公司购买了应用的多个许可,但这些解决方案通常仅在每一个用户都已在企业地址簿中的情况下起作用。作为结果,这种方法可能对跨公司边界的情况不能良好工作。最后,开发者可能还允许多个用户通过开发者所提供的网站为其他人购买应用。然而,这种方法对于每一名开发者而言需要大量的开发工作来创建关于每一部分的应用市场。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
发明内容
此处描述了用于分发应用的机制的概念和技术。根据此处所公开的一些概念和技术,应用发送者可访问应用商店来选择要由应用接收者使用的一个或多个应用。应用商店可以是用于向应用接收者供应和许可应用的交换所。应用发送者可提交针对所选择的应用中的一个或多个的分发条款。分发条款可包括,但不限于,应用接收者能够获得使用应用的权限的时间、指示应用接收者能够使用应用多久的时间、应用接收者的身份、和/或被授权使用应用的人数。应用发送者可使用各种技术来提交或修改分发条款,诸如由应用商店提供的界面或者应用发送者的计算系统上的可执行程序。
应用商店可验证分发条款符合应用许可详述中提出的规定。应用许可详述可由应用的开发者提供或者可由另一源提供,诸如提供该应用的应用商店。应用商店可使用分发条款来生成授权令牌。授权令牌可封装由应用的开发者提供的应用许可详述以及由应用发送者所提供的分发条款。应用商店可随后生成接收者许可,该接收者许可是控制应用接收者对该应用的使用的许可。
接收者许可可考虑由应用开发者所提供的应用许可详述、由应用商店所增加的限制或条款、和/或由应用发送者所提供的分发条款。在一些实现中,应用发送者可使用授权令牌来控制应用接收者对不止一个应用、同一应用的多个实例、或这些的各种组合的访问。在一些实现中,应用接收者可不被要求为应用支付,可被要求支付一不同金额,或者可使用不同类型的价值来获取该应用。
应用发送者可向应用接收者传送一通信,该通信旨在准许应用接收者使用应用。在一些使用中,该通信可利用授权令牌。应用接收者可向应用商店提交与授权令牌相关联的信息以获得对应用的访问。从应用发送者到应用接收者的通信还可利用密码、个人身份号、应用的身份、和/或应用。
应该了解,上文所描述的主题还可以被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识此处所公开的概念和技术的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。而且,所要求保护的主题不限于解决该公开的任一部分中所注的任何或全部缺点的实现方式。
附图说明
图1是可被用来实现此处公开的各实施例的一个说明性操作环境的系统图。
图2是根据一些实施例的示出其中多个应用被捆绑起来的第二说明性操作环境的系统图。
图3A和3B是根据一些实施例的示出可由应用发送者控制的示例性应用格式的软件架构图。
图4是根据一些实施例的示出用于将多个应用捆绑起来供应用接收者使用的许可机制的系统图。
图5是根据一些实施例的示出多个应用发送者将授权令牌组合起来供应用接收者使用的系统图。
图6是根据一些实施例的示出应用开发者可如何控制应用许可的系统图和用户界面(“UI”)。
图7是根据一些实施例的示出用于使用授权令牌来控制应用分发的示例性方法的框图。
图8是根据一些实施例的示出用于使用将应用捆绑在一起的示例性方法的框图。
图9是示出能够实现本文所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
具体实施方式
以下具体描述涉及用于分发应用的概念和技术。根据此处公开的一些概念和技术,应用发送者可使用授权令牌来控制应用的分发和使用。授权令牌可由应用接收者使用来获取对与该授权令牌相关联的一个或多个应用的访问并使用该一个或多个应用。为了生成授权令牌,应用发送者可访问应用商店并且选择供应用接收者使用的一个或多个应用。应用发送者可向应用商店提交一组分发条款和支付(如果需要的话)。一旦提交,应用发送者可接收到授权令牌。该授权令牌可封装应用许可详述、由应用商店所提供的任何限制、以及分发条款。这一信息可被用于生成接收者许可,该接收者许可也可被封装在授权令牌中。接收者许可控制针对应用接收者的应用的分发的使用。应当理解,此处描述的概念和技术不限于任何特定类型的分发模型。例如,应用可被下载至用户所使用的本地计算机。在另一示例中,应用可作为SaaS模型下的服务被递送。
此处所描述的概念和技术中的一些实现可允许或增强若干个人之间的协作。例如,应用发送者可能是企业中的一名个人,其想要与其他个人(应用接收者)协作。作为协作工作的一部分,应用接收者可能需要使用某个应用。在一些配置中,应用发送者可访问应用商店并且选择供应用接收者使用的应用。应用发送者可向应用商店提交一组分发条款,应用将根据该组分发条款来分发。之后,应用发送者可接收授权令牌。
应用发送者可向应用接收者发送一通信,指示使用该应用的权限已被获得。该通信可包括该授权令牌以及附加信息(如果有的话),应用接收者可使用该授权令牌及附加信息来获取对应用的访问权限。在另一实现中,通信可不包括授权令牌,而是可包括关于如何索取该授权令牌的指示。在进一步实现中,应用接收者可永远接收不到授权令牌。一旦协作任务被完成(或者出于其他原因),应用发送者可修改分发条款以撤销应用接收者使用该应用的能力。在其他配置中,分发条款可被配置成撤销应用的使用而无需修改分发条款。例如,分发条款可包括应用接收者能够使用该应用的时间。在这一示例中,应用发送者可无需修改分发条款来撤销使用权限,因为分发条款已被配置成撤销使用应用的能力。在进一步示例中,分发条款可创建一组可消耗权限,诸如文档可被打印的次数。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务和/或实现特定抽象数据类型的例程、程序、组件、数据结构以及其他类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图,在其中相同的附图标记贯穿若干附图表示相同的元素,将提出用于分发应用及其他方面的计算系统、计算机可读存储介质、以及计算机实现的方法的各方面。
现在参考图1,将描述用于文本呈现的各实施例的一个操作环境100的各方面。图1中所示的操作环境100包括开发供在应用商店106中购买的应用104的应用开发者102。如此处所使用的,术语应用指的是被配置成在计算设备上使用的任何类型的软件程序。在一些配置中,应用可包括被专门设计用于在移动设备(注入无线智能手机或平板计算设备)上使用的程序,当然此处所描述的概念和技术不被限制于应用要执行在什么类型的计算设备上。如此处所使用的,术语“购买”指的是交易,其中使用应用的权限被赋予或者使用应用的能力被接收。例如,购买可包括接收在许可下使用应用的权限。如此处所使用的,“交易”包括涉及两方或更多方的活动。
另外,此处所描述的概念和技术不被限制于被设计为应用的程序的任何具体大小,因为一些应用可能是小的、紧凑程序,而其他应用可能是较大的程序。此外,在一些配置中,应用可以是独立程序或者是被配置用于在另一程序内执行的程序。如此处所使用的,术语“应用商店”可包括可从其购买应用104的各种位置。例如,应用商店106可以使由华盛顿州雷蒙德市的微软公司提供的WINDOWS STORE、加利福尼亚州库比蒂诺市的苹果公司提供的ITUNES应用商店、或者由加利福尼亚州山景城的谷歌公司提供的GOOGLE PLAY应用商店。
应用开发者102可能想要定义分发应用104所遵循的条件。应用开发者102可向应用商店106提供应用许可详述108。应用许可详述108可包括应用104的许可条款。应当理解,本公开不限于任何特定类型的许可。例如,应用开发者102可使用开源许可,诸如GNU GPL、GNU LGPL、APACHE、BSD等。在另一实现中,应用开发者102可使用所有权许可。在其他配置中,应用开发者102可使用应用商店106所要求或提供的许可。此处描述的概念和技术不限于任何特定许可。应用开发者102可将应用104与应用许可详述108相关联并将应用104放置在应用商店106内供购买。在一些配置中,应用许可详述108可由应用商店106修改或补充。例如,应用商店106可将对应用104施加附加限制。在其他配置中,应用许可详述108可以是封装在应用商店106中的硬编码的默认许可,或其组合。
一旦放置在应用商店106中,应用104可变为可供各个用户购买。在本公开主题的各实现中,应用发送者110可能希望购买应用104的一份或多份副本的权限供一个或多个应用接收者112A-112N使用(此后,应用接收者112A-112N被统称和/或普遍地称为“应用接收者112”,或者根据个别指定称为“应用接收者112A”、“应用接收者112B”等等)。虽然此处所描述的概念和技术不限于任何具体实现、特征或优点,但是应用发送者110可能想要在工作在协作式环境中时为应用接收者112购买应用104的一份或多份副本的权限。
例如,应用发送者110可以是由应用接收者112雇用来执行任务的公司。为了向应用接收者112说明工作成果,应用发送者110可能需要允许应用接收者112对应用104的有限使用。在另一示例中,应用发送者110和应用接收者112可以正在为同一实体做项目。应用发送者110可具有某一领域的专业知识,即为了与应用接收者112协作,需要应用接收者112使用应用104。应用发送者110可通过协调应用104供应用接收者112使用来方便协作工作。
当购买应用104供应用接收者112使用时,应用发送者110可确定除了应用许可详述108中描述的由应用开发者102施加的任何限制和/或由应用商店106对应用104设置的约束以外想要对应用104施加的控制等级。如此处所使用的,术语“控制等级”指的是应用发送者110根据应用发送者110的需要或期望以某种形式管理应用104的分发和/或使用的能力。
为了向应用发送者110提供控制等级,伴随购买应用104的权限,应用发送者110可提交一组分发条款114。如以上简要提及的,分发条款114可包括但不限于应用发送者110为其购买应用104的权限的应用接收者112的身份、应用接收者112可使用应用104的时间、以及应用接收者112必须获得对应用104的权限的时间。应用发送者104可改变分发条款114来控制应用104的使用和/或分发的各方面。在一些配置中,应用发送者110可修改分发条款114来修改应用104的使用。
分发条款114可受应用许可详述108和/或应用商店106对应用104施加的约束的控制。应用许可详述108可限制各方修改应用104的能力。例如,应用许可详述108可要求应用104的名称不能被更改。在另一示例中,应用许可详述108限制对应用中的各特征的修改,诸如改变影像、截屏等。
一旦接收到来自应用发送者104的支付(如果需要的话)或者完成购买所需的任何信息或数据,就生成授权令牌116。授权令牌116可由应用商店106或另一实体生成。例如,应用商店106可存留分发条款114,并从中生成授权令牌116。授权令牌116可以是应用商店106用来将应用104与分发条款114相关联的数据或其他形式的信息。在一个实现中,授权令牌116可以封装分发条款114。在另一实现中,授权令牌116可封装应用许可详述108以及由另一实体(例如应用商店106)提供的任何附加约束或条款。在进一步的实现中,授权令牌116可封装应用许可详述108、分发条款114、应用商店106对应用104施加的约束、或其组合。
在一些配置中,应用发送者110可通过提交新分发条款114或改变当前使用的分发条款114来改变与授权令牌116相关联的数据。授权令牌116可以是可被用来认证交易或特定用户的数据、可执行代码、硬件、软件、或任何其他技术。授权令牌116可以是永久令牌,直到被删除,或者可以是具有期限的临时令牌。
应用发送者110可在与应用接收者112A-112N的通信中发送授权令牌116,通知应用接收者应用104的使用已被应用发送者110获得。在一不同实现中,通信可不包括授权令牌116,而是可包括对应用接收者112的关于如何索取授权令牌116的指示。如此处所使用的,“通信”可包括任何类型的电子通信,包括但不限于电子邮件、即时消息、以及短消息系统(“SMS”)消息。之后,应用接收者112可访问网络118以访问应用商店106来使用授权令牌116来获得对应用104的使用。应当理解,此处描述的概念和技术不限于为网络118使用的任何特定类型的网络。在一些配置中,网络118可包括因特网、内联网、外联网、或其各种组合。
本公开不限定于应用接收者112获得使用应用104的权限的任何特定方式。在一个配置中,如果应用104是被下载的软件,则应用接收者被要求向应用商店106提交授权令牌116来下载应用104或者可被要求使用授权令牌116以便执行该应用。在另一配置中,如果应用104作为SaaS来分发,则应用接收者112可被要求使用该令牌来访问由应用104提供的一个或多个服务。
在一些配置中,应用发送者110可以按类似于应用商店106的方式分发应用104以及控制对应用104的访问。例如,应用发送者110可能已在应用发送者110所使用的计算设备(未示出)上存储应用104的副本。在这一示例中,当应用接收者112接收通知应用接收者112该应用104已准备好供使用的通信时,应用接收者112可通信回应用发送者110。一旦成功完成交易,应用接收者112可从应用发送者110而不是从应用商店106接收应用104。
在一些配置中,向应用开发者102支付许可费可受特定规则控制并且以各种方式执行。在一个实现中,应用许可详述108可规定许可费如何支付。应用许可详述108可包括价格、退还时间、以及其他条款。应用104可使用一个或多个第三方服务,诸如在MicrosoftAzure上的存储。在这类情况下,应用许可详述108可限定是发送者还是接收者来支付,以及可能高达什么阈值。在一些配置中,应用发送者110可能够推翻由应用许可详述108所创建的支付条款。
在一些实现中,应用许可详述108可基于接收者的某些特性(诸如接收者居住或他们使用软件所在的国家)来限定不同的价位。例如,如果应用发送者110或应用接收者已拥有开发者102的其它应用的话,应用许可详述108可提供折扣。在一些实现中,如果应用发送者110为特定数目个应用接收者112购买应用104的话,应用104的购买价格可以是打折的。在一些配置中,根据应用许可详述108所规定的,这类折扣可仅在应用发送者110在购买时提供特定优惠券代码的情况下才有效。在另一示例中,应用104的支付可尽在应用接收者112中的一个执行与应用104相关联的某个动作(诸如使用特定特征)时才被处理。这些和其他支付变型都被认为落入本公开的范围之内。
许可支付可以用各种方式来处理。在一个配置中,许可支付可在应用发送者110向应用商店106发送针对使用应用104的权限的支付时被处理。在另一配置中,许可支付可在稍后的时间被处理。例如,许可支付可在应用发送者112中的一个向应用商店106发送通信以使用应用104时被处理。应当理解,此处描述的概念和技术不限于许可支付的任何特定实现,概念和技术也不限于要求支付的应用。
操作环境100还可向应用发送者110提供执行审计的能力。应用发送者110可能希望出于各种原因执行审计,原因包括但不限于验证应用接收者112是否是使用应用104的正确方。由于应用发送者110可以是提交针对使用应用104的权限的那方,因此应用发送者110可能想要确保应用104根据应用发送者110所创建的一组分发条款114来分发。例如,可向应用发送者110提供各种信息,信息包括但不限于应用接收者112的列表以及授权令牌116的赎回日期。在一些实例中,应用接收者112中的具体的一个的身份可能不是显而易见的。在这种配置下,为了帮助执行审计以及其他使用,应用发送者110可在提供对应用104的访问之前要求应用接收者112的个人可标识信息。在一些实现中,应用发送者110可能够使用从审计中接收的信息来收回或撤销对应用接收者112中的一个或多个的许可。
一旦应用接收者112A-112N根据应用令牌116所封装的条件完成了交易,应用接收者112可收到接收者许可119。在一些配置中,基于应用许可详述108、分发条款114和/或应用商店106所施加的约束来创建接收者许可119的条款。接收者许可119可不同于未考虑应用发送者110所提交的分发条款114的许可。例如,分发条款114可能规定应用接收者112可使用服务的有限的使用时间或有限的范围,而应用许可详述108可能不具有类似约束。
此外,接收者许可119可在无需来自应用接收者112的输入的情况下发生改变。例如,应用发送者110可修改应用104的分发条款114。分发条款114的改变可修改授权令牌116,这进而修改接收者许可119。在一些配置中,这可撤销应用接收者112使用应用104的权限。应用接收者112使用应用104的权限或能力可以其他方式被撤销。例如但不作为限制,应用商店106可修改应用接收者112使用应用104的权限。应用发送者110可访问一界面来撤销对应用104的使用。这些和其他配置被认为落入本公开的范围之内。
撤销应用接收者112对应用104的使用的原因可能不同。例如,如果应用140的使用是基于订阅购买的,则用于交易的信用卡的过期要求使用应用的权限被撤销以便确保未来的支付。另一示例可以是应用发送者110可能得到退款,这撤销对应用接收者112的接收者许可119。进一步示例可以是应用发送者110可能仅购买了对应用104的限时使用,这导致在时间期满之际被撤销。一个又进一步的示例可以是应用发送者110可能仅针对有限的消耗集而购买对应用104的使用,诸如生成100次文本效果。在消耗被用尽之后,对应用104的使用可被撤销。在另一示例中,应用发送者104可转送应用发送者110的使用应用的权限的限时使用。在该时间期满之后,使用应用104的权限可返回给应用发送者110。应当理解,本公开不限于任何特定的撤销原因。
如以上所描述的,本公开的主题不限于对单个应用的控制。此处描述的各种概念和技术可被用于控制多个应用。例如,图2示出其中可捆绑若干应用的另一说明性操作环境200。在图2的操作环境200中,应用发送者110已指定应用组104A-104N中的多个应用供应用接收者112使用。在操作环境200中,应用发送者110已绑定了应用组104A-104N。应用组104A-104N包括多个应用104。虽然此处所描述的概念和技术不限于任何特定优点,但是捆绑应用组104A-104N可提供各种优点。例如,应用接收者112可在单个交易中接收使用应用组104A-104N的权限,而不是强迫应用接收者112单个地购买构成应用组104A-104N的应用的每一个。应用接收者112可不需要同意分开的许可、进行分开的支付、或完成与一个应用相关联的交易并随后继续涉及另一应用的交易。
应用104A-104N可以各种方式被捆绑,例如通过图3A和3B的示例示出的。在图3A中,应用104A-104C的功能被链接,使得应用104A-104C作为单个单元来工作。例如,应用104A-104C中的每个应用可执行一个或多个功能,这些功能与应用104A-104C的其他应用组合时可提供需要或期望的功能。在另一实现中,应用发送者110可能已购买了对于应用组104A-104N中的不同应用的不同等级的访问。例如,为了实现特定目的可能需要对应用104A的完全使用,而可能只需要对于应用104B的一些使用或者甚至是试用。在另一实现中,应用可被整合以形成一个新的应用或者集成到现有的应用中,如通过图3B的示例示出的。应用104A的功能可通过应用104B和应用104C的功能来增强或以其他方式增加。在一些配置中,捆绑应用104A-104N的能力可基于针对每个具体应用的应用许可详述208A-208N。
如图3A和3B中所示,各个应用的功能可被增加或与其他应用结合,或者,其他应用可将它们的功能集成到其他应用中。在此处所描述的概念和技术的一些实现中,使用各个应用所需要的许可可集成在彼此中并且可通过单个授权令牌来服务。例如,对于应用104A的许可可能在其中集成了对应用104B和104C的许可。因此,在这一配置中,在取得使用应用104A的权限时,应用接收者112可不需要以分开的交易来确保对应用104B和104C的权限,因为对应用104A的许可已考虑了对应用104B和104C的许可。
在另一配置中,对各应用的许可可被结合在一起,如可通过图3A中的示例来说明的。如以上所描述的,应用104A-104C在功能上被组合但并没有被合并到彼此中。在这一实现中,对应用104A-104C的许可可被结合,但经由使用授权令牌116来统一授权。例如,对于应用104A-104C的许可可在单个表单中显示给用户。在接受分发条款114时,用户可进而隐含地同意针对应用104A-104C的许可条款。
回到图2,应用发送者110可发送通信给应用接收者112,提供允许应用接收者112能够使用应用104的信息。在这一配置中,替代控制单个应用的分发,授权令牌116可被用于控制应用组104A-104N的分发。因此,在这一配置中,当应用组104A-104N被捆绑时,与授权令牌116相关联的应用许可详述108可包括对应用组104A-104N中的所有应用的许可详述,在图2中表示为应用许可详述208A-208N。虽然不限于任何特定原因,但是将应用许可详述208A-208N捆绑在一起成为单个许可可提高应用接收者112使用应用组104A-104N的便利性和/或简易性。
在一些配置中,应用接收者不是应用的终端用户,而是将应用集成到另一套装中的人或实体。例如,应用接收者可以是将多个应用打包供在零售市场中销售的增值代理商(“VAR”)。图4是系统400的图示,其中应用接收者可打包一个或多个应用供销售。
如图4中所示出的,应用开发者102A已开发了应用104A,应用发送者110想要提供该应用104A供应用接收者112A使用。在系统400所示的实现中,应用接收者112A是VAR。应用接收者112A接收针对应用104A的应用许可详述108A,并且将应用104A与应用开发者102B开发的应用104B一起打包。如以上所讨论的,应用许可详述108A可对应用104A施加约束。
除了以上给出的示例,应用许可详述108A可提供对许可费的分解。例如,应用接收者112A可得到特定百分比的许可费且应用商店106可得到特定百分比,其余的将给到应用开发者102A。在进一步配置中,如果应用104A的直接销售是在无应用接收者112A的情况下执行的,则应用许可详述108A还可提供许可费拆分。应用许可详述108A的这些和其他示例被认为在本公开的范围内。
应用接收者112A可与应用接收者112B通信,告知应用104A和应用104B的组合可供应用接收者112B使用。应用接收者112B可与应用商店106交接,并且通过对授权令牌116的确认或验证,应用接收者112B可接收使用应用104A和应用104B的组合所需要的准许和软件。
如通过图4中的示例所示的,VAR(例如应用接收者112A(或另一实体)可能够向应用接收者112B提供用于接收不止一个供使用的应用的更简单或更有效率的方法。应用接收者112A可将分别对应于应用104A和应用104B的应用许可详述108A和应用许可详述108B捆绑在一起,并且促成交易,在该交易中应用接收者112B能够执行单次购买来使用应用104A和104B。
此外,图4的系统400可为VAR提供以各种供购买的组合的形式来组合各个应用的灵活性。另外,VAR可使用授权令牌116来控制应用104A和应用104B的组合的分发和使用。以这种方式,在一些实现中,此处所描述的概念和技术可促成多个开发者通过提供多个应用的组合来交互,其中使用权限通过使用授权令牌116的单个实例来获得。
在一些配置中,不止一个应用发送者110一起工作可能是有利的。图5是示出多个应用发送者110A和110B的示例系统500,应用发送者110A和110B将资源组合以允许应用接收者使用应用。图5中示出的是应用发送者110A和110B。在图5中示出的示例性实现中,应用发送者110A和应用发送者110B已得到了对应用104的权限。应用发送者110A已得到了允许对应用104的三个使用(或“座位”)的权限,而应用发送者110B已得到了允许对应用104的六个座位的权限。应用接收者112需要使用8个座位。因此,无论是应用发送者110A还是应用发送者110B都不能单独提供应用接收者112所需的八个座位。
因此,在这一配置中,应用发送者110A可将他的座位的使用与应用发送者110B所获得的座位在应用商店106中组合。应用接收者112可与应用商店106通信,告知应用接收者112具有使用与应用发送者110A相关联的授权令牌116A以及与应用发送者110B相关联的授权令牌116B的权限。由于组合的授权令牌116A和116B所具有的座位数超过了应用接收者112所要求的数目,因此应用接收者112能够在应用发送者110A和应用发送者110B创建的条款下获得对应用104的使用。如以上所描述的,这些条款可包括允许使用的时间、应用可被下载的时间、以及应用104的开发者所提出的许可条款。
图6是示出开发者可如何通过规定应用许可详述108的条款来控制应用许可的系统图和用户界面(“UI”)。系统600示出一种示例方法,其中许可条款可被合并到应用104中。系统600包括开发者102已经开发的或正在开发的应用104。应当理解,本公开不限于使用用于规定应用许可详述108的条款的系统600。例如但不作为限制,应用开发者102可直接在应用104包中直接规定条款,诸如与应用104相关联的清单。在开发期间,应用开发者102可能期望某些许可条款适用于应用104。虽然不限于任何特定类型的许可,但是这些条款可包括使用权限、复制权限、分发权限、以及对用户施加的某些义务或使用限制。
在系统600中,可向应用开发者102呈现许可UI 602。许可UI 602可具有一个或多个复选框或可方便接收来自应用开发者102的输入的其他类型的UI控件。在许可UI 602中,一些示例性输入包括终端用户为应用发从属许可的权限、如何评估收入(例如提成)、应用104是否嵌入其他应用、应用104是否与应用开发者所开发的其他应用一起列出、某方是否可重命名应用104、或者与对应用104的使用相关联的消耗的配额。应当理解,此处描述的概念和技术不限于任何特定类型的许可条款或许可UI 602的实现。
许可UI 602被配置成接收应用开发者102所输入的许可条款。应用商店106接收输入到许可UI 602中的许可条款。当应用接收者112获得使用应用104的权限时,从许可UI602中接收的许可条款可被集成到授权令牌116中。在另一实现中,包含应用104的二进制包还可包含应用许可详述108。在进一步实现中,应用许可详述108可与应用104分开地存储在应用商店106内。如以上所描述的,当应用发送者110定义分发条款114时,应用条款114可受应用许可详述108的约束。
现在转向图7,解说了根据一说明性实施例的用于提供用于分发应用的方法700的各方面。分发700的各实现可被用于提供用于分发应用的机制。应该理解,不一定按任何特定次序来呈现此处公开的方法700的操作,并且以替代的次序来执行某些或全部操作是可能的并被设想。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。还应当理解,所示方法可在任何时间结束且不必完整地执行。
所述方法的部分或全部操作和/或基本上等价的操作可以通过执行计算机存储介质上所包括的计算机可读指令来执行,如本文所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
转到图7,方法700开始并前进到操作702,其中接收到用于分发应用104的输入。虽然不限于任何特定起源,但是用于分发应用104的输入可由应用发送者110生成。应用发送者110可确定在应用商店106中找到的供分发的应用104是必需的或期望的,以便与一个或多个应用接收者112A-112N协作。在一些配置中,应用发送者110可访问应用商店106并选择应用104。在其他配置中,应用发送者110可访问系统并输入待由一个或多个应用提供的功能指标。以上所描述的系统可随后处理该输入并选择满足由应用发送者110所提出的功能指标的一个或多个应用供分发。
方法700从操作702前进至操作704,在那里接收分发条款114。分发条款114可包括但不限于应用接收者112的身份、应用接收者112可取得使用应用104的权限和能力的时间帧、或者应用接收者112可使用应用104的时间帧。分发条款114可由应用发送者110或另一实体生成。在一个示例中,应用发送者110和应用接收者112可为一组织机构工作,该机构已创建了各种准则,应用发送者110和应用接收者按照这些准则来工作。因此,在这一示例中,分发条款114可由该实体生成,以便培养或管理应用发送者110和应用接收者112之间的协作。应当理解,此处描述的概念和技术不限于任何特定源或类型的分发条款114。
方法700从操作704前进至操作706,在那里确认分发条款114。虽然应用商店106可具有针对应用商店106所规定的约束(诸如商店策略)以及应用许可详述108所规定的约束对分发条款114进行的某种程度的验证,但是可执行进一步的因用户而异的检查。在操作706,获取关于应用接收者112的信息。信息可包括但不限于应用接收者112是否之前已拥有应用104、应用接收者112是否来自应用开发者希望分发到的国家等等。
在一些实现中,在提交使用应用104的请求之前,应用接收者112可以或可以不提供进一步信息,诸如人类可阅读的个人名字或使用理由。在这些实现中,除了应用接收者112提供的任何信息,特定应用接收者112的身份可被传送给应用发送者110。应用发送者110可随后审阅该信息,并且与授权令牌116一起创建针对特定应用接收者112的接收者许可119。例如,应用发送者110可发送群电子邮件给团队,宣布该团队已获得应用104的5份许可,用于社交分析工具的最有价值用户。在这一示例中,应用接收者112可请求使用应用104。应用发送者110可使用应用接收者112所提供的信息来确定请求使用应用104的应用接收者112中的哪5个可使用应用104。
在另一示例中,应用许可详述108可要求仅在收到分发条款114时知晓的或由授权令牌116指定的个人创建对应用104的使用。在一些实现中,为了启用这一要求,应用接收者112可被要求以应用商店106知晓的身份和用户名登录。在进一步实现中,授权令牌116可要求应用接收者输入特定密码或PIN来被授予接收者许可119。该信息可随后与授权令牌116中所传送的分发条款114作比较。
如果应用许可详述108允许应用104根据分发条款114来分发,则分发700前进至操作708,在此授权令牌116被生成并传送给应用发送者110。授权令牌116可封装应用许可详述中标识的条款、分发条款114以及应用商店106所增加的的任何限制。此外,授权令牌116还可封装根据授权令牌119所封装的信息生成的接收者许可119。授权令牌116可由应用发送者110用来控制应用104的分发。在进一步实现中,接收者许可119可不被生成,直到应用接收者112被授权使用应用104。
如以上描述的,授权令牌116可以是软件、硬件、密码、或其他形式的信息或技术,此处所描述的概念和技术不限于任何特定形式的授权令牌116。一旦授权令牌116被生成(表示应用发送者110已根据分发条款114成功购买了应用104),应用发送者110可向应用接收者112发送通信,提供允许应用接收者112访问和使用应用104的信息。应当理解,与购买应用104有关的交易可以除以上提供的配置以外的方式来进行。例如,分发条款114或授权令牌116可规定应用接收者112必须在能够使用应用104之前向应用商店106进行某种形式的支付。
方法700前进至操作710,在此接收来自请求使用应用104的应用接收者112中的一个或多个的通信。如果授权令牌116曾被传送给应用接收者112,则该通信可包括授权令牌116以及根据授权令牌116应用接收者112可能被要求提供的其他信息。
方法700从操作710前进至操作712,在此根据授权令牌116对交易进行验证。例如,授权令牌116可具有应用接收者112必须提供的某些标识要求,以便验证提交该通信的这方是正确的待接收应用104的那方。在另一实现中,授权令牌116可以是经验证的信息。例如,在一些配置中,提交该通信的这方可拥有授权令牌116。授权令牌116可以是自验证数据。在另一配置中,接收该通信的实体可与应用发送者110通信并请求应用发送者110来验证提交该通信的实体。
响应于对授权令牌116的验证,方法700从操作712前进至操作714,在此方法条款114被接收并传递给发送了该通信的实体。在一些配置中,方法条款114可能需要被发送该通信的实体所接受。在其他配置中,可包含应用许可详述108的条款的分发条款可被预接受。方法714从操作714前进至操作716,在此根据分发条款114使应用104变为可使用。方法700随后结束。
如以上所描述的,应用104A可与一个或多个应用104B-104B组合或捆绑并分发给应用接收者112。图8示出根据一说明性实施例的用于捆绑应用的方法800的各方面。方法800开始并前进至操作802,在此标识要被捆绑的应用。如此处所使用的,“捆绑”可包括以各种方式对一个或多个应用的任意组合。例如,若干应用可被捆绑在一起并根据分发条款114和应用许可详述108针对授权令牌116而变为可供应用接收者112使用。在另一示例中,若干应用可以通过以上图3A和/或图3B中的示例来描述的形式被组合。
方法800从操作802前进至操作804,在此接收分发条款。如以上所描述的,分发条款可来自各个源,包括但不限于应用发送者110。方法800从操作804前进至操作806,在此检索对于该若干应用的许可详述。虽然此处所描述的概念和技术不限于此,但是检索应用中的一个或多个的许可详述以便确保应用中的一个或多个能够根据分发条款114在满足各个许可详述所提出的要求的情况下来分发可能是必须的。
在操作808,分发条款被验证为根据应用的许可条款可允许的。方法800从操作808前进至操作810,在此以某种方式将应用捆绑以供分发给应用接收者112。分发800从操作810结束。
图9是能够执行以上所描述的软件组件的设备的说明性计算机体系结构900。由此,图9中所示的计算机体系结构900示出服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、和/或膝上型计算机的体系结构。计算机体系结构900可用于执行本文所呈现的软件组件的任何方面。例如,计算机体系结构900可被用于实现应用商店106。
图9所示的计算机体系结构900包括中央处理单元902(“CPU”)、包括随机存取存储器904(“RAM”)和只读存储器(“ROM”)906在内的系统存储器908、以及将存储器910耦合至CPU 904的系统总线902。基本输入/输出系统被存储在ROM 908中,该系统包含帮助诸如在启动期间在计算机架构900中的元件之间传输信息的基本例程。计算机体系结构900还包括用于存储图1的授权令牌116、应用许可详述108、或应用104的大容量存储设备912。
大容量存储设备912通过连接至总线910的大容量存储控制器(未示出)连接至CPU902。大容量存储设备912及其相关联的计算机可读介质为计算机体系结构900提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构900访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机架构900访问的任何其他介质。为了声明的目的,短语“计算机存储介质”及其变型不包括波或信号本身和/或通信介质。
根据各实施例,计算机体系架构900可以使用通过诸如网络118之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构900可以通过连接至总线910的网络接口单元916来连接到网络118。应当理解,网络接口单元916还可以被用来连接到其他类型的网络和远程计算机系统。计算机体系结构900也可包括输入/输出控制器918,该输入/输出控制器918用于接收和处理来自多个其他设备(包括键盘、鼠标或电子指示笔)的输入。类似地,输入/输出控制器918可以向显示屏、打印机或其他类型的输出设备提供输出。
应当理解,本文所描述的软件组件在被加载到CPU 902中并被执行时可以将CPU902和总体计算机体系结构900从通用计算系统变换成为被定制为促进本文提出的功能的专用计算系统。CPU 902可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体而言,CPU 902可以响应于包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 902如何在各状态之间转换来变换CPU 902,由此变换了构成CPU 902的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可能的,前面提供的示例只是为了便于此描述。
鉴于以上内容,应当理解,在计算机体系结构900中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。应当理解,计算机体系结构900可包括任何类型的计算设备,包括手持计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员知晓的其它类型的计算设备。还可以构想计算机体系结构900可不包括图9中所示的全部组件,可包括图9中未明示的其它组件,或可使用完全不同于图9中所示的那样的体系结构。
基于上述内容,应当意识到,本文已经公开了用于分发应用的概念和技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (20)

1.一种用于分发应用的计算机实现的方法,所述方法包括:
通过计算机从应用发送者接收待由应用接收者使用的应用的选择,所述应用与应用许可详述相关联;
通过所述计算机从所述应用发送者接收分发条款,所述应用将在所述分发条款下分发,所述分发条款包括对所述应用的访问的基于时间的限制;
利用从所述应用发送者接收的所述分发条款以及所述应用许可详述来验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者;
响应于验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者,向所述应用接收者发送指示使用所述应用的权限已被所述应用发送者获得的通信;以及
响应于对所述应用的访问的所述基于时间的限制过期,撤销使用所述应用的权限。
2.如权利要求1所述的计算机实现的方法,其中,所述通信包括授权令牌,所述授权令牌用于基于从所述应用发送者接收的所述分发条款以及所述应用许可详述来对分发所述应用进行控制。
3.如权利要求2所述的计算机实现的方法,其中,所述授权令牌包括所述应用许可详述、所述分发条款、或由提供所述应用的应用商店对所述应用设置的约束。
4.如权利要求2所述的计算机实现的方法,还包括基于所述授权令牌来生成接收者许可。
5.如权利要求2所述的计算机实现的方法,还包括从所述应用接收者接收包括使用所述应用的请求的通信。
6.如权利要求5所述的计算机实现的方法,还包括通过验证与所述应用接收者相关联的信息来验证使用所述应用的请求是在所述分发条款下被允许的。
7.如权利要求6所述的计算机实现的方法,还包括响应于验证与所述应用接收者相关联的信息以及所述授权令牌,将所述应用传送至所述应用接收者。
8.如权利要求5所述的计算机实现的方法,其中,来自所述应用接收者的通信还包括利用与所述应用相关联的第二授权令牌的请求,并且其中,所述授权令牌和所述第二授权令牌与所述应用接收者能够使用的所述应用的座位的数量相关联。
9.如权利要求2所述的计算机实现的方法,其中,所述授权令牌包括密码、指示用于使用所述应用的时间帧的数据、指示所述应用已经准备好分发至所述应用接收者的通信的数据、或者个人身份号。
10.如权利要求1所述的计算机实现的方法,其中,所述应用许可详述是由所述应用的开发者提供的或者是提供所述应用的应用商店的硬编码的默认。
11.如权利要求1所述的计算机实现的方法,还包括撤销由所述应用接收者对所述应用的使用。
12.一种计算机,包括:
硬件处理器;以及
与所述硬件处理器通信的计算机可读存储介质,所述计算机可读存储介质包括存储于其上的计算机可执行指令,所述计算机可执行指令在被所述硬件处理器执行时使得所述硬件处理器用于:
从应用发送者接收待由应用接收者使用的应用的选择,所述应用与应用许可详述相关联;
从所述应用发送者接收分发条款,所述应用将在所述分发条款下分发,所述分发条款包括所述应用发送者允许所述应用接收者在使用所述应用时具有的控制等级,其中,所述分发条款包括对所述应用的访问的基于时间的限制;
利用从所述应用发送者接收的所述分发条款以及所述应用许可详述来验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者;
响应于验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者,向所述应用接收者发送指示使用所述应用的权限已被所述应用发送者获得的通信;以及
响应于对所述应用的访问的所述基于时间的限制过期,撤销使用所述应用的权限。
13.如权利要求12所述的计算机,其中,所述通信包括授权令牌,所述授权令牌包括基于从所述应用发送者接收的所述分发条款以及所述应用许可详述来对分发所述应用进行控制。
14.如权利要求13所述的计算机,其中,所述计算机可读存储介质包括另外的计算机可执行指令,所述另外的计算机可执行指令用于将所述授权令牌与关联于所述应用的许可相关联。
15.如权利要求13所述的计算机,其中,所述计算机可读存储介质包括另外的计算机可执行指令,所述另外的计算机可执行指令用于在接收到利用所述授权令牌的通信之后或者在所述应用发送者支付之后将许可支付传送至所述应用的开发者。
16.如权利要求12所述的计算机,其中,所述计算机可读存储介质包括另外的计算机可执行指令,所述另外的计算机可执行指令用于从所述应用接收者接收包括使用所述应用的请求的通信。
17.如权利要求12所述的计算机,其中,所述计算机可读存储介质包括另外的计算机可执行指令,所述另外的计算机可执行指令用于将关联于所述应用的第一接收者许可与关联于第二应用的第二接收者许可集成。
18.如权利要求17所述的计算机,其中,所述应用与所述第二应用捆绑,由此第二应用接收者在单次交易中接收使用所述应用和所述第二应用两者的权限。
19.一种光盘、磁存储设备、或固态存储设备,其具有存储于其上的计算机可执行指令,所述计算机可执行指令在被计算机执行时使得所述计算机:
从应用发送者接收待由应用接收者使用的应用的选择,所述应用与应用许可详述相关联;
从所述应用发送者接收分发条款,所述应用将在所述分发条款下分发,所述分发条款包括对所述应用的访问的基于时间的限制;
利用从所述应用发送者接收的所述分发条款以及所述应用许可详述来验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者;
响应于验证所述应用许可详述允许根据所述分发条款而将所述应用分发给所述应用接收者,向所述应用接收者发送指示使用所述应用的权限已被所述应用发送者获得的通信;以及
响应于对所述应用的访问的所述基于时间的限制过期,撤销使用所述应用的权限。
20.如权利要求19所述的光盘、磁存储设备、或固态存储设备,其中,所述通信包括授权令牌,所述授权令牌用于基于从所述应用发送者接收的所述分发条款以及所述应用许可详述来对分发所述应用进行控制。
CN201810516949.5A 2013-03-15 2014-03-13 受控应用分发 Active CN108804881B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/833,259 US9122845B2 (en) 2013-03-15 2013-03-15 Controlled application distribution
US13/833,259 2013-03-15
CN201480028441.0A CN105247527B (zh) 2013-03-15 2014-03-13 受控应用分发

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480028441.0A Division CN105247527B (zh) 2013-03-15 2014-03-13 受控应用分发

Publications (2)

Publication Number Publication Date
CN108804881A true CN108804881A (zh) 2018-11-13
CN108804881B CN108804881B (zh) 2021-06-08

Family

ID=50442698

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480028441.0A Active CN105247527B (zh) 2013-03-15 2014-03-13 受控应用分发
CN201810516949.5A Active CN108804881B (zh) 2013-03-15 2014-03-13 受控应用分发

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480028441.0A Active CN105247527B (zh) 2013-03-15 2014-03-13 受控应用分发

Country Status (5)

Country Link
US (2) US9122845B2 (zh)
EP (1) EP2973153A1 (zh)
KR (1) KR102170008B1 (zh)
CN (2) CN105247527B (zh)
WO (1) WO2014151195A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130144755A1 (en) * 2011-12-01 2013-06-06 Microsoft Corporation Application licensing authentication
US9424405B2 (en) * 2012-11-28 2016-08-23 Apple Inc. Using receipts to control assignments of items of content to users
US9210155B2 (en) * 2013-03-08 2015-12-08 Stocktree Inc. System and method of extending a host website
US9122845B2 (en) * 2013-03-15 2015-09-01 Microsoft Technology Licensing, Llc Controlled application distribution
US20160261599A1 (en) * 2015-03-06 2016-09-08 Sony Computer Entertainment America Llc Digital management of content assets in the cloud
US10628559B2 (en) 2015-06-23 2020-04-21 Microsoft Technology Licensing, Llc Application management
US9973497B2 (en) * 2015-12-04 2018-05-15 Sap Se System and method for communication to enterprise environment users of a mobile application by the mobile application provider
US20170262825A1 (en) * 2016-03-11 2017-09-14 Microsoft Technology Licensing, Llc License recommendation service
US11062299B2 (en) 2017-10-24 2021-07-13 BBPOS Limited System and method for indicating entry of personal identification number
US11809528B2 (en) 2018-05-09 2023-11-07 Stripe, Inc. Terminal hardware configuration system
WO2020047561A1 (en) * 2018-08-30 2020-03-05 Arbalest Solutions (Pty) Limited Method and system for multiple product redemption
US11685276B2 (en) 2019-06-07 2023-06-27 Anthony Macaluso Methods and apparatus for powering a vehicle
US11641572B2 (en) * 2019-06-07 2023-05-02 Anthony Macaluso Systems and methods for managing a vehicle's energy via a wireless network
US11615923B2 (en) 2019-06-07 2023-03-28 Anthony Macaluso Methods, systems and apparatus for powering a vehicle
US11837411B2 (en) 2021-03-22 2023-12-05 Anthony Macaluso Hypercapacitor switch for controlling energy flow between energy storage devices
US11289974B2 (en) 2019-06-07 2022-03-29 Anthony Macaluso Power generation from vehicle wheel rotation
US11074058B1 (en) * 2020-06-30 2021-07-27 Microsoft Technology Licensing, Llc Deployment operations based on deployment profiles in a deployment system
US11472306B1 (en) 2022-03-09 2022-10-18 Anthony Macaluso Electric vehicle charging station
US11577606B1 (en) 2022-03-09 2023-02-14 Anthony Macaluso Flexible arm generator
US11955875B1 (en) 2023-02-28 2024-04-09 Anthony Macaluso Vehicle energy generation system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014889A2 (en) * 2001-08-06 2003-02-20 Matsushita Electric Industrial Co., Ltd. License management server, terminal device, license management system and usage restriction control method
CN101512516A (zh) * 2006-09-07 2009-08-19 微软公司 对等数字内容分发的drm方面
EP2278524A1 (en) * 2009-06-22 2011-01-26 Uniloc Usa, Inc. System and method for software activation
CN102663273A (zh) * 2010-12-27 2012-09-12 西门子公司 计算机网络中软件许可证的改进管理
CN102682233A (zh) * 2011-01-13 2012-09-19 奥多比公司 用于受保护内容的可缩放分发的方法和系统
CN102737200A (zh) * 2010-12-14 2012-10-17 微软公司 使用数字许可证的软件激活
CN102821093A (zh) * 2012-06-29 2012-12-12 北京牡丹电子集团有限责任公司 一种支持跨终端应用的内容保护授权系统和方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1759363A (zh) * 2003-02-03 2006-04-12 田纳西太平洋集团有限公司 数字内容的分发和权利管理
US8271343B2 (en) 2007-01-16 2012-09-18 Schorr Ronni E Systems and methods for electronic gifting
US20090327091A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation License management for software products
US9070149B2 (en) 2008-09-30 2015-06-30 Apple Inc. Media gifting devices and methods
US8266684B2 (en) 2008-09-30 2012-09-11 General Instrument Corporation Tokenized resource access
CN105760716B (zh) * 2010-05-19 2018-12-14 谷歌有限责任公司 电子证书管理
US11144916B2 (en) 2010-10-28 2021-10-12 Ncr Corporation Techniques for conducting single or limited use purchases via a mobile device
US20120185342A1 (en) 2011-01-13 2012-07-19 Michael Onghai Systems and methods for utilizing customer-provided information within social media applications
US9122845B2 (en) * 2013-03-15 2015-09-01 Microsoft Technology Licensing, Llc Controlled application distribution

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003014889A2 (en) * 2001-08-06 2003-02-20 Matsushita Electric Industrial Co., Ltd. License management server, terminal device, license management system and usage restriction control method
CN101512516A (zh) * 2006-09-07 2009-08-19 微软公司 对等数字内容分发的drm方面
EP2278524A1 (en) * 2009-06-22 2011-01-26 Uniloc Usa, Inc. System and method for software activation
CN102737200A (zh) * 2010-12-14 2012-10-17 微软公司 使用数字许可证的软件激活
CN102663273A (zh) * 2010-12-27 2012-09-12 西门子公司 计算机网络中软件许可证的改进管理
CN102682233A (zh) * 2011-01-13 2012-09-19 奥多比公司 用于受保护内容的可缩放分发的方法和系统
CN102821093A (zh) * 2012-06-29 2012-12-12 北京牡丹电子集团有限责任公司 一种支持跨终端应用的内容保护授权系统和方法

Also Published As

Publication number Publication date
KR20150132164A (ko) 2015-11-25
US20160117488A1 (en) 2016-04-28
CN108804881B (zh) 2021-06-08
CN105247527B (zh) 2018-06-22
KR102170008B1 (ko) 2020-10-26
US9122845B2 (en) 2015-09-01
CN105247527A (zh) 2016-01-13
US20140283092A1 (en) 2014-09-18
WO2014151195A1 (en) 2014-09-25
EP2973153A1 (en) 2016-01-20

Similar Documents

Publication Publication Date Title
CN105247527B (zh) 受控应用分发
Baset et al. Hands-on blockchain with Hyperledger: building decentralized applications with Hyperledger Fabric and composer
TWI822653B (zh) 以令牌化來進行以區塊鏈為基礎的匯兌
CN109863719A (zh) 用于在区块链上指导与匿名持有代币相关联的交易的方法和系统
CN109919586B (zh) 多层安全移动交易使能平台
CN110443701A (zh) 一种通证管理方法、供应链金融系统以及电子设备
KR20180114939A (ko) 블록 체인을 통해 자산 관련 활동을 제어하는 시스템 및 방법
CN110458700A (zh) 一种通证生成方法、供应链金融系统以及电子设备
CN108805707A (zh) 基于区块链的作品版权收益分配方法和装置
CN101427268A (zh) 使用移动模块对商业交易的认证
Holbrook Architecting enterprise blockchain solutions
KR20200062640A (ko) 블록체인 기반 미술작품 거래정보 관리 방법 및 블록체인의 노드 장치
Kehrli Blockchain 2.0-from bitcoin transactions to smart contract applications
Chen An approach for improving transparency and traceability of industrial supply chain with Blockchain technology
Moreaux et al. Royalty-friendly digital asset exchanges on blockchains
Koscina et al. A blockchain-based marketplace platform for circular economy
CN111709838B (zh) 基于知识产权标准化数字资产的交易方法及相关设备
Mohanty Blockchain: from concept to execution-new
Roy Blockchain development for finance projects: building next-generation financial applications using Ethereum, Hyperledger Fabric, and Stellar
Karkeraa Unlocking Blockchain on Azure
Zumkeller Using Smart Contracts for Digital Services: A Feasibility Study Based on Service Level Agreements
CN103279254B (zh) 移动应用中的大量决策模式
US20240005409A1 (en) Systems, methods, and storage media for managing digital liquidity tokens in a distributed ledger platform
CN113065907B (zh) 一种基于区块链的报销方法、装置及计算机设备
Dulai et al. IOTP and Payments Protocols

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