[go: up one dir, main page]

CN102376064A - 云环境中软件的弹性许可 - Google Patents

云环境中软件的弹性许可 Download PDF

Info

Publication number
CN102376064A
CN102376064A CN2010102518799A CN201010251879A CN102376064A CN 102376064 A CN102376064 A CN 102376064A CN 2010102518799 A CN2010102518799 A CN 2010102518799A CN 201010251879 A CN201010251879 A CN 201010251879A CN 102376064 A CN102376064 A CN 102376064A
Authority
CN
China
Prior art keywords
transaction
user
trade agreement
service
software
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
CN2010102518799A
Other languages
English (en)
Inventor
沈建军
何英
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.)
VMware LLC
Original Assignee
VMware 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 VMware LLC filed Critical VMware LLC
Priority to CN2010102518799A priority Critical patent/CN102376064A/zh
Priority to US13/197,577 priority patent/US20120041844A1/en
Publication of CN102376064A publication Critical patent/CN102376064A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/06Buying, selling or leasing transactions
    • 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/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation

Landscapes

  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及云环境中软件的弹性许可,一方面,方法包括发布用户的对象,从而另一用户能够通过用户界面检索到对象。对象可以是应用、应用组、应用组件和/或服务。对象运行在平台上。平台可以是监管器、应用容器、移动平台和/或计算机。方法包括允许另一用户基于用户之间对对象的交易来访问对象。交易可以涉及克隆交易、授予交易、应用组件交易或服务交易。可以基于交易征税。另一用户对对象的访问范围基于交易协议,交易协议基于用户之间的交易。交易协议可以包括付款方案、期限或一组对象权利。

Description

云环境中软件的弹性许可
技术领域
本公开内容一般地涉及软件许可、虚拟机、云计算,并且在一个示例性实施例中,涉及用于云环境中的软件许可和交易的方法与系统。
背景技术
软件可以受到版权保护。软件许可证可以是管理软件的使用和/或再分发的法律手段。软件许可证可以允许终端用户使用软件的一个或多个拷贝。软件许可证可能对于在使用软件时防止软件的版权侵权来说是必须的。
一些用户可能在没有软件许可证的情况下使用软件以及/或者对软件进行未经授权的拷贝。这种使用会构成软件盗版行为。软件盗版行为会对软件产业造成负面影响,因为软件盗版会减少软件公司从销售与该软件相关联的软件许可证获得的收入。
此外,个体软件开发者可能不具有发布和/或分发他们所开发软件的资源。缺少这些资源会成为个体软件开发者进入市场的障碍。结果,个体软件开发者可能失望于开发新的软件,这将引起整体软件开发的减少。
发明内容
一方面,服务器设备的方法包括发布用户的对象,从而另一用户能够通过用户界面检索对象。对象的示例可以是应用、应用组、应用组件和/或服务。对象可以被存储并运行在平台上。平台的示例可以是监管器、应用容器、移动平台和/或包括受信操作系统的计算机。
方法包括允许另一用户基于所述用户和另一用户之间的对象交易来访问对象。涉及应用和/或应用组的交易示例包括克隆交易和授予交易。其它交易可以包括应用组件交易和服务交易。可以基于交易征税。另一用户对对象的访问范围基于交易协议。交易协议基于所述用户和另一用户之间的对象交易。交易协议可以包括付款方案、期限和一组对象权利。
交易协议可以耦合到对象,从而包括交易协议的对象可以基于交易协议受控制。可以防止用户修改与对象相联接的交易协议。当进行对象的拷贝时,与对象相联接的交易协议可以被拷贝。
从另一用户收取的钱数是基于付款方案确定的。付款方案可以基于交易协议。付款方案的示例可以包括固定价格付款方案、对象拷贝付款方案、对象使用付款方案、以及对象拥有时间付款方案。对象的访问可以被监视,从而可以限制对象的访问范围。访问的范围可以基于交易协议。对象访问的管理可以减少对象的盗版。
方法还可以包括允许用户修改应用或应用组。用户可以被允许创建应用或应用组的拷贝。可以基于基于认证限制参与的限制因素来防止用户参与交易。
可以基于交易协议的验证来验证交易。对象操作可以被监视和控制,从而对象操作符合交易协议。对象的生命周期可以基于交易协议被管理。
付款方案可以基于分级分发模型。分发模型可以包括作为对象分发者的用户。分发者可以将对象分发给其他用户,从而向另一用户分发对象或对象拷贝的分发者分享销售对象及其拷贝的收益。
可以基于交易协议实施使用和访问对象的权利。权利可以通过客户的操作系统来实施。客户的操作系统可以感知云环境。权利可以通过监管器来实施。权利可以由对象自身来实施,其中对象可以感知云环境。
对象的生命周期开始可以被监视并且交易协议可以联接到对象。对象的生命周期终止可以被监视并且交易可以结算。可以保持对象拥有时间和对象使用的账户。例如,对象拥有时间和对象使用可以被记录和计数,从而基于对象拥有时间和对象使用来计算付款。对象的交易期限届满可以被监视。基于对象的交易协议的对应动作可以被触发。应用和应用组对象的克隆历史可以被维护。在缴费点处可以开始缴费和收税程序。
对象可以在交易之后被传送到买方。非法对象拷贝会被防止。基于对象的交易协议的付款可以动态计算。基于对象的交易协议的付款可以被收取。可以对卖方征收交易税。
对象可以被排名。对象的排名可以基于发布者的推介和信用、对该对象的交易次数和频率、所做的全部拷贝数、使用对象的全部时间、使用对象拷贝的平均时间、使用对象的成本(包括付款和资源使用成本)、已经使用对象的用户的评分、以及对象特有评估的结果。
在另一方面,方法可以包括允许用户发布对象,从而另一用户可以通过用户界面检索对象。其他用户可以基于所述用户和其他用户之间的对象交易被允许访问对象。其他用户对对象的访问范围可以基于交易协议。交易协议可以基于所述用户和其他用户之间的对象交易。
从其他用户收取的钱数可以基于付款方案。付款方案可以基于交易协议。其他用户对对象的访问可以被监视,从而对象的访问范围可以基于交易协议而受到限制。可以促进对象的分发,从而用户的对象可以通过一个或多个平台对另一用户可用。
一方面,系统可以包括对象。系统还可以包括运行并存储对象的平台、处理对象交易的处理器、确定对象的访问范围的交易协议、以及基于交易协议确定通过交易收取的付款的付款方案。
这里公开的方法、系统和装置可以以实现多个方面的任意装置实现,并且可以以包括一组指令的机器可读介质的形式执行,所述一组指令当由机器执行时,可以使得机器执行这里公开的任何操作。通过附图和下面详细的说明,其他特征将变得明显。
附图说明
示例性实施例以示例的方式被示出,而不限于附图所示。附图中类似的附图标记指代相似的元件,其中:
图1A-1C图示了根据一个或多个实施例的系统的操作的示例方案。
图2是根据一个或多个实施例在图1的云管理体系结构中的操作流程的简要图示。
图3是根据一个或多个实施例的云环境的云基础架构的简要图示。
图4是根据一个或多个实施例的图1的云环境的客户设备的用户界面的简要图示。
图5是根据一个或多个实施例图示了图1的系统中的客户设备的操作的流程图。
图6是根据一个或多个实施例在云环境中的客户设备的简要图示。
具体实施方式
公开了一种在云环境中软件许可与交易的方法、装置和/或系统。尽管描述并举例说明了具体示例性实施例,但是很明显在不背离这里所公开的方法和系统的宽泛精神和范围的情况下,可以对这些实施例做出多种修改和改变。
可能在交易中涉及的不同类型的软件(这里可以被称为“对象”)包括但不限于应用、应用组、应用组件以及服务。应用可以是机器(例如计算机)的软件实现,其类似于物理机器那样执行程序。应用的示例可以是虚拟机。应用组可以包括不只一个应用和/或另一应用组。应用组可以是母组(母对象)并且母应用组中包括的应用可以是子应用(子对象)。母应用组(母对象)中包括的应用组可以是子应用组(子对象)。应用可以包括一个或多个应用组件。应用组件(子对象)可以被安装到应用(母对象)。服务可以为应用和/或应用组提供一些服务。此外,应用或应用组(母对象)可以订购服务(子对象)。
应用可以被存储并运行在平台上。平台可以包括硬件体系结构和/或软件构架(包括应用构架),其允许运行软件程序。平台的示例可以包括监管器(hypervisor)、应用容器(例如,Java虚拟机或Web容器)、移动平台(例如移动电话)、计算机(具有受信OS、OS增强、和/或受信硬件)。
可以由云操作者通过云环境提供平台。云环境可以是基于互联网的计算环境,从而共享资源、软件和/或信息被按需提供给计算机和其它设备。示例可以包括平台即服务(PaaS)云环境和基础架构即服务(IaaS)云环境。此外,平台可以由终端用户拥有;然而终端用户可能不能干预所公开软件许可与交易模型的实施。可以由终端用户拥有的平台示例可以包括移动平台、受信监管器、受信应用容器、以及受信计算机。软件许可协议的实施可以通过平台维护。一个或多个平台可以用来实现所公开软件许可与交易模型。
IaaS云(及实现)的示例包括Amazon EC2和VMware vCloud(1.0)。PaaS云的示例包括Google App Engine和Microsoft Azure。
应用的示例可以包括虚拟机。虚拟机可以运行在监管器上。应用可以运行在容器中。运行在容器中的应用示例可以包括Java虚拟机中的Java应用和Web容器中的Web应用。应用组件的示例可以包括安装并运行在VM中的应用软件和客户OS。
应用或应用组可以由用户拥有和/或访问。在一个实施例中,通过添加/去除组件、通过添加/去除订购的服务、以及/或者通过修改应用的配置和/或设置,用户能够修改应用。通过添加/去除/修改子应用和/或子应用组、通过添加/去除订购的服务、以及/或者通过修改应用组的配置和/或设置,用户能够修改应用组。用户能够创建新应用、应用组、应用组件、和/或服务。
用户能够进行应用或应用组的拷贝(克隆),以及/或者将应用或应用组传输到另一用户,或从一个平台传输到另一平台。当应用被克隆或被传输的时候,应用的状态(例如,数据、配置、安装的组件、和订购的服务)可以连同应用一起被拷贝和/或传输。当应用组被克隆和/或被传输时,应用组的状态(例如,配置、子应用、子应用组、和订购的服务)可以连同应用组一起被克隆和/或传输。
用户能够拍摄应用或应用组的快照。快照可以包括应用或应用组在拍摄快照时的状态。应用或应用组可以恢复到应用或应用组的先前快照之一。快照中记录的状态可以被恢复。
交易可以是这样一种程序,用户(例如,卖方)通过该程序将对象(例如,软件程序)分发给另一用户(例如,买方)。在涉及应用或应用组的交易中,卖方可以克隆或将应用或应用组授予给买方。在克隆交易中,应用或应用组的新拷贝可以传输给买方。在授予交易中,应用或应用组自身会被传输给买方,并且卖方会失去应用或应用组的所有权。
在应用组件交易中,卖方可以将应用组件出售给买方的应用。组件可以被安装以及/或者可以被允许安装到买方的目标应用中。在服务交易中,卖方(例如,服务提供者)可以将服务出售给买方的应用或应用组,并且服务可以被订购以及/或者可以被允许在交易之后由买方的目标应用或应用组订购。
交易协议可以基于卖方和买方之间的交易。交易协议可以包括付款方案、期限、和/或与对象的使用相关的一组权利。在对象交易之后,交易协议可以联接到对象。
交易协议可以具有期限。期限可以定义为一段时间,在该时间段内,另一用户拥有和/或有权访问对象,或者可以定义为时间量,其中另一用户可以在该时间量内使用和/或运行对象。例如,在涉及应用或应用组的授予交易的上下文中,当期限届满时,应用或应用组的使用会被撤销,并且应用或应用组会被返回给卖方。当应用或应用组被返回给卖方的时候,应用或应用组可以恢复到在其被出售时拍摄的快照。在克隆交易的上下文中,被出售给买方的应用或应用组的拷贝在期限届满时被自动去除和/或使得不能再用。例如,在涉及应用组件和/或服务的交易中,被出售给买方的应用组件和/或服务在期限届满时会被去除和/或使得不能再用。
交易协议可以包括对买方通过交易获得的对象的一组权利。对象权利的示例包括买方被允许创建的对象的一定数量的拷贝、修改和/或访问对象的权利、向其它用户再分发和/或销售对象的权利、以及/或者在再分发交易中改变对象的付款方案的权利。
当用户进行与交易协议相联接的对象的新拷贝的时候,剩余的交易期限和该对象的权利基于交易协议可以被固定。当买方向另一用户再分发对象时,买方可以缩短期限的长度以及/或者可以减少买方对对象拥有的权利,但是可以防止买方增加买方对对象拥有的权利。
当用户克隆应用或应用组(例如,克隆应用或应用组用于用户自己使用),或者通过克隆或授予交易将应用或应用组出售给另一用户的时候,子(后代)对象(例如,安装的应用组件、订购的服务、子应用和/或应用组)可以被拷贝,或者可以被包括在应用或应用组的交易中。子对象最初可以与另一交易协议联接。在应用或应用组克隆和/或交易之后,子对象的另一交易协议可以继续应用于子对象的新拷贝或售出的子对象之上。
子对象可以与另一交易协议联接。子对象的另一交易协议可以独立于母对象的交易。例如,用户可以基于交易协议购买应用组件。应用组件可以安装到用户的应用。当用户将应用(母对象)和应用组件(子对象)一起出售给另一用户的时候,应用的交易协议和与应用组件相联接的另一交易协议可以继续实施。
付款方案可以基于交易协议。付款方案可以包括一个或多个付款模式。这些模式可以包括固定付款、基于对象拷贝数的付款、基于对象使用的付款、或者基于拥有对象的时间量的付款。固定付款可以是买方通过交易会支付给卖方的固定钱数。
基于对象拷贝数的付款可以基于卖方创建的对象的拷贝数量来计算。子对象的拷贝可以与母(祖先)对象的拷贝一起计数。例如,子对象可以绑定涉及拷贝数的付款方案(即,与子对象相联接的交易协议的付款方案包括基于对象拷贝数的付款模式)。当母对象被拷贝时,子对象可以与母对象一起被拷贝。当用户拷贝包括绑定涉及拷贝数的付款方案的子对象的母对象时,用户会为拷贝母对象付费,并且还会为拷贝子对象付费。用户会基于绑定子对象的付款方案为拷贝子对象付费。例如,当应用组被克隆的时候,子应用、应用组、安装在子应用上的应用组件、以及应用组、子应用与应用组订购的服务可以随着应用组的克隆也一起被拷贝。
基于对象的使用的付款可以根据买方使用对象的频率和/或时间量来计算。例如,更多次使用对象的用户将支付更多。例如,应用或应用组的使用可以基于应用运行时间(例如,VM加电时间)来计算。应用组件的使用可以基于组件加载(例如,客户OS或软件在VM中的执行)时间来计算。服务的使用可以基于服务的工作或服务时间来计算。
基于对象拥有时间的付款可以根据买方拥有对象的时间量来计算。例如,通过去除对象以及/或者在应用或应用组授予交易中通过将对象返还卖方,用户可以停止付款。例如,应用组件拥有时间可以通过组件被安装到买方的应用中有多长时间来计算。服务拥有时间可以通过服务被买方的应用或应用组订购了多长时间来计算。
当用户进行与交易协议相联接的对象的拷贝以及/或者将对象再分发给另一用户时,初始交易协议中的付款方案可以对对象的新拷贝或再分发的对象继续生效。例如,应用可以绑定涉及拷贝数的付款方案。当应用被再分发给另一用户以及/或者每次新用户克隆应用的时候,新用户可以基于付款方案的定义向初始卖方付款。并且如果子对象与交易协议相联接,当子对象与母对象一起被包括或者被再分发给另一用户时,其付款方案可以继续生效。例如,应用组订购的服务可以绑定涉及使用的付款方案。当用户克隆应用组时,新服务拷贝(在新应用组克隆中)仍可绑定初始付款方案。用户可以基于付款方案的定义为新服务拷贝的使用付费。
当用户将对象再分发给另一用户时,用户能够扩展与对象相联接的初始交易协议的付款方案,如果扩展被初始交易协议的对象权利定义所允许的话。该扩展可能要求来自下一买方的额外付款。初始交易协议中定义的对初始卖方的最初付款可以受到保护。允许付款方案扩展可以鼓励用户改进以及/或者传播用户所拥有的对象。
付款方案可以基于分级分发模型。当对象拷贝被创建以及或者被再分发给新用户的时候,分发树和/或分发链中的分发者可以分享收益。付款方案可以定义每个分发级别分享的收益百分比。
在一个示例中,发起者(例如,卖主)可以将对象出售给第一级分发者。第一级分发者随后可以将对象的拷贝再分发到第二级分发者。当第二级分发者创建对象的新拷贝的时候,第一级分发者能够从第二级分发者提取一定百分比的付款。当第二级分发者将对象拷贝再分发到另一用户的时候,发起者、第一级分发者和/或第二级分发者可以分享来自新用户的付款。
每次交易会被收税。付款和/或交易税可以被自动计算。付款和/或交易税可以被实时动态计算。可以要求买方在缴费点付款。卖方和/或分发者可以得到款项。当卖方得到款项和/或买方支付款项的时候可以征收交易税。
在实施例中,系统可以防止用户参与交易。系统可以允许注册用户的一个子集参与交易。经认证的卖主和/或平台的操作者的子集可以被允许向用户分发对象。
在实施例中,系统可以提供用户将对象作为产品发布的界面。用户在产品注册时可以可选地提交一组预定义的交易协议。注册后,产品可以从检索界面检索,检索界面允许用户以多种条件(例如,付款、以及其它对象特性)检索产品。当对象未被发布时,卖方还能够向特定买方不公开地宣传和/或销售对象。
买方可以通过买卖界面开始对象(可以是买方通过产品检索找到的注册产品和/或者买方通过不同方法知晓的对象)的交易。买方还可以被允许与卖方协商交易协议。
在交易完成之前,系统可以使交易的交易协议生效。系统可以检查和/或核实交易协议在对象权利、期限和付款方案方面与和对象及其子/后代对象相联接的现有交易协议相兼容。
在交易完成之后,对象的拷贝或对象可以被传送至买方。交易协议可以联接到对象。可以防止用户改变与对象相联接的交易协议。对象或对象拷贝的传送(例如,应用或应用组的克隆或传输、应用组件的安装、或服务的订购)可以通过受控界面完成,从而可以防止非法的对象拷贝。
在应用或应用组的授予交易中,如果交易协议包括交易期限定义,那么可以拍摄应用或应用组的快照。当应用或应用组在交易期限届满时被返还给卖方时,应用或应用组可以被恢复。
系统可以实施交易协议中定义的对象权利。系统可以监视和/或控制用户对对象的操作。对象操作的示例可以包括克隆或配置应用或应用组、运行或停止应用、安装或解除安装应用组件、加载或卸载应用组件、订购或解除订购服务、开始或停止服务、以及修改对象。例如,当应用或应用组被克隆时,与应用或应用组或应用或应用组的子对象相联接的交易协议可以被检查以使克隆操作生效。如果克隆操作未被任何交易协议允许(例如,操作与对象拷贝的权利冲突),那么可以放弃操作。
受管理对象的生命周期可以被监视和/或被跟踪。受管理对象可以是与交易协议相联接的对象。
在交易和/或对象传送之后,交易协议可以联接到对象。对象生命周期可以被监视。监视可以开始于交易或新对象拷贝。对象的拷贝和/或对象的交易可以启动对象的生命周期监视。缴费和/或收税程序可以在发起对象的生命周期监视时开始。
交易期限届满可以被监视。相应的动作可以在期限届满时做出。在期限届满时可以做出的动作示例包括对象的去除和/或销毁、用户对对象的可访问性和/或可用性的限制、以及在授予交易中在涉及应用或应用组的情形下将对象返还卖方。
对象生命周期的终止可以被监视。对象生命周期终止的示例可以包括交易期限届满、对象销毁/去除、返还卖方、传送至另一用户。如果对象联接到交易协议,那么交易可以结束,并且可以开始缴费和/或收税程序。
可以记录对象存续时间的账户。如果交易协议包括涉及对象拥有时间的付款方案,那么可以记录账户。可以在以下缴费点处开始缴费和/或收税程序,其中在所述缴费点处,对象拥有时间的量从前一缴费点开始累积至阈值。
可以记录对象(应用和应用组)运行、(应用组件)加载、和/或(服务)服务时间的账户。如果交易协议包括涉及对象使用的付款方案,那么可以记录账户。可以在以下缴费点处开始缴费和/或收税程序,其中在所述缴费点处,对象处于使用状态的时间量从前一缴费点开始累积至阈值。
在一个或多个实施例中,可以包括排名机制。基于其发布者的信用和推荐、对象的交易频率和数量、系统中做出的拷贝的总体数量、对象处于使用状态的总时间、对象及其拷贝处于使用状态的评价时间、使用对象的成本(包括付款和资源使用成本)、已使用该对象的用户的评分,所有发布的对象被给予某个评分。在对象特有评估等中,对象可以获得额外的分数。
图1A-1C图示了根据一个或多个实施例的IaaS云中的系统的示例方案。在一个或多个实施例中,系统包括云环境120。云环境120可以包括云基础架构122、云服务124、云平台126和云存储装置106。云基础架构可以包括一个或多个模块,被配置用来控制并协调由云平台126通过云服务124提供的多种服务。云存储装置106可以用作与应用和/或应用组以及由云体系结构150提供的云环境120和云服务中的交易相关联的数据的贮存库。在一个或多个实施例中,云平台可以包括其上运行有应用(VM)的一个或多个监管器。在一个或多个实施例中,在操作130,用户(例如,开发者)1081在云环境120中发布对象(例如,VM)102。在操作132,另一用户(例如,零售商)1082购买对象102并且将改进110添加到对象102。改进例如可以是额外的特征。在操作134,第三用户(例如,消费者)1083可以为购买对象102的拷贝向开发者1081付费,并且销售收益的一部分还会给予零售商1082。
对象(例如,应用或应用组)可以在发布之前就已在云中。发布可以是将对象注册成产品,从而对象通过产品检索功能对另一用户可见。在交易之前和之后,对象可以被存储在云中。在交易之后,对象的所有权可以改变。
在示例性实施例中,用户的角色是作为示例提供的。每个用户可以具有多个角色。用户的角色可以不只是开发者、零售商、和/或消费者。消费者和/或零售商可以将对象再分发给另一消费者。在一些实施例中,用户的角色基于用户的认证可以被限制。
图2是根据一个或多个实施例在云的管理体系结构250(图1的云体系结构150)中的操作流程的简要图示。云的管理体系结构250包括用户管理系统202、交易管理系统204和对象管理系统206。交易管理系统包括发布系统210、买卖系统212和缴费与收税系统214。对象管理系统206可以包括权利管理系统220、VM操作(OPS)监视系统222、软件生命周期管理(LCM)系统224、服务LCM系统226和VM LCM系统228中的一个或多个。图2进一步图示了这里公开的云环境120中的多种服务。
在IaaS云实施例中,应用可以是VM,应用组可以是VM组,应用组件可以是运行在包括客户OS和应用软件的VM中的客户软件程序,服务可以用于VM或VM组(由其订购)。客户可以是运行在由下层硬件支持的操作系统上的虚拟机。
IaaS云可以包括一个或多个监管器。VM可以运行在监管器上。服务的示例可以包括DHCP、负载均衡、防火墙、病毒扫描、高可用性服务等。服务可以由云用户(例如,通过服务提供者的VM和/或VM组)提供,或者可以由云操作者提供。在VM或VM组订购服务之后,VM或VM组能够基于服务交易协议使用服务(由其服务)。
VM或VM组交易的期限可以由用户可以拥有VM或VM组的时间量和/或用户可以加电VM或VM组的时间量来定义。软件交易的期限可以由软件可以被安装的时间量和/或用户能够运行软件程序的时间量来定义。服务交易的期限可以由服务被订购的时间量和/或服务可以服务于目标VM或VM组的时间量来定义。
VM、VM组、软件、服务对象共享的权利示例可以包括用户能够做出的对象的拷贝数(连同VM或VM组克隆)以及向另一用户再分发对象的权利。VM或VM组权利的示例包括订购/解除订购服务的权利、修改配置的权利。VM权利还可以包括安装/解除安装的权利和/或在VM中执行具体程序的权利。VM组权利还可以包括添加/去除子VM和/或VM组的权利。
VM或VM组还可以与交易信息联接。对于VM,交易信息可以包括VM交易协议、用于安装在VM中的受管理软件的软件交易协议、以及用于VM订购的服务的服务交易协议。对于VM组,交易信息可以包括VM组交易协议和用于VM组订购的服务的服务交易协议。基于可以联接到VM、VM组和/或软件的交易协议,可以获得VM、VM组和/或软件。与交易协议相联接的VM、VM组和/或软件被分别称作受管理的VM、受管理的VM组、或受管理的软件。
交易协议绑定可以在受管理VM或VM组生命周期开始、受管理软件的安装和服务订购的时候产生。交易协议绑定可以在受管理软件安装/解除安装、服务订购/解除订购、和/或交易期限届满的时候更新。
交易协议绑定可以与VM或VM组配置一起存储和/或存储在数据库中。当VM或VM组被输出到VM或VM组模板时,其交易协议绑定也可以被输出到模板中。交易协议绑定可以由云保护,从而云限制用户的访问,使得交易协议绑定免受损坏。
系统通过云环境可以为用户(例如,VM/VM组卖主、方案集成商、分发者、软件卖主和服务提供者)提供发布他们产品的界面。发布系统可以为卖方开放注册服务以注册他的产品。VM和/或VM组产品可以以VM或VM组模板的形式、VM或VM组快照的形式、以及现有VM或VM组的形式进行注册。发布系统可以为用户提供检索服务以查询注册的产品并发起交易。
用户可以通过买卖系统建立交易。买方通过向买卖系统提交对对象的交易请求,可以开始交易。取决于卖方对产品注册的定义,买卖系统可以允许买方就交易协议发起与卖方的协商。
买卖系统可以检查最终的交易协议。在VM或VM组交易中,该协议验证程序可以检查交易协议以确保交易协议与VM或VM组(及其子和后代VM和VM组)的现有交易协议绑定(包括子对象的交易协议)相兼容。在软件或服务交易中,验证程序可以检查交易协议以确保交易协议与目标VM或VM组的现有交易协议绑定相兼容。交易协议验证还可以包括检查对象权利。
在交易协议被验证后,在VM和/或VM组交易中,VM和/或VM组传送请求可以被提交到VM LCM系统,其将VM和/或VM组传送给买方。在软件交易中,安装请求可以被发送到软件LCM系统,其可以将软件安装到目标VM。在服务交易中,服务订购请求可以被发送到服务LCM系统,其可以为目标VM或VM组订购服务。
用户可以在交易缴费点处通过交易缴费服务缴纳费用。缴费程序可以由VM、软件和/或服务LCM管理系统开始。它还可以通知收税服务向卖方征收交易税。缴费服务可以跟踪VM或VM组克隆历史,以计算在分级分发中每个分发级别的收益份额和付款。
VM操作监视可以是这样的机制,其使得云能够监督VM或VM组操作。可以受到监视的VM或VM组操作和事件可以包括克隆、创建和销毁、模板输出和输入、电源操作和配置。
其它云服务可以从VM OPS监视系统订购特定操作和事件的通知,并且可以对一个或多个操作或事件触发不同的动作,以及/或者可以终止操作。
VM权利控制可以用于实现交易协议的权利集合定义。VM或VM组克隆、配置和电源操作权利控制可以由来自VM OPS监视系统的通知触发。通知可以基于监管器实现。
对象再分发权利可以在交易协议验证期间进行检查。软件安装/解除安装和服务订购/解除订购权利控制可以由软件和服务LCM系统执行。
VM的程序执行权利控制可以在客户机内在运行期间实施。软件程序可以是云感知(clous-aware)的,从而软件程序在启动时利用权利管理系统检查执行权利。如果用户没有权利运行软件程序,软件程序可以退出。客户OS可以是云感知的,从而利用权利管理系统来检查在客户OS中运行软件程序的执行权利,并由客户OS实施和控制。程序执行权利的实施可以利用虚拟化技术(例如,VMSafeTM)来实现,其可以允许监管器控制客户机内的程序执行。
为了支持VM和VM组交易,云可以跟踪受管理VM或受管理VM组的生命周期。VM LCM系统可以监视受管理VM或受管理VM组的生命周期开始,产生交易协议绑定,并且在与受管理的VM和/或受管理的VM组相联接的交易协议(包括子对象的交易协议)要求的情况下开始缴费和收税程序。VM LCM系统可以监视受管理VM或受管理VM组的生命周期终止,并且在VM或VM组与交易协议(包括其子对象的交易协议)相联接的情况下完成交易结算。它还可以跟踪受管理VM或受管理VM组的整个生命周期,并且在缴费点处开始缴费和收税程序。
受管理VM的生命周期可以在VM交易之后、受管理VM的克隆之后、第一受管理软件的安装之后、和/或第一服务的订购之后开始。受管理VM组的生命周期可以在VM组交易之后、受管理VM组的克隆之后、第一服务的订购之后、添加第一受管理子VM或VM组之后、和/或子VM或VM组之一变成受管理VM/VM组之后开始。VM LCM系统可以从VM OPS监视系统接收相关通知以检测VM或VM组生命周期的开始/终止。VM LCM系统可以涉入VM和VM组操作中,或者可以要求用户通过VM LCM系统执行VM和VM组操作。
VM传送服务可以从买卖系统接受VM或VM组传送请求以将VM或VM组产品传送给买方。在克隆交易中,可以做出VM或VM组的克隆并将其传输给买方。在授予交易中,VM或VM组可以被传输给买方。对于模板产品,VM或VM组模板可以被输入。当在授予交易中存在交易期限定义时,可以在传送之前拍摄VM或VM组的快照。
VM LCM系统可以检查VM或VM组的交易绑定(包括子对象的交易协议)以验证克隆操作,并且可以为缴费服务维护受管理VM或受管理VM组的克隆历史,用于计算付款和收益份额。
VM LCM系统可以记账受管理VM或受管理VM组的存续时间,并且在缴费点处开始缴费和收税程序,如果VM或VM组交易协议包括涉及拥有时间的付款方案的话。
VM LCM系统可以记账受管理VM或受管理VM组的加电时间和频率,并且在缴费点处开始缴费和收税程序,如果VM或VM组交易协议包括涉及使用的付款方案的话。
VM LCM系统可以监视受管理VM或受管理VM组的交易期限,并且根据VM交易协议定义触发不同的动作。对于授予交易,VM或VM组可以被恢复到在交易之前拍摄的快照并且返还卖方。对于克隆交易,VM或VM组可以被去除和/或丧失加电权利。交易期限可以用VM或VM组存续时间或加电时间测量。
软件LCM可以监视受管理软件的生命周期的开始,将软件交易协议添加到母VM的交易协议绑定上,并且开始缴费和收税程序(如果软件交易协议要求的话)。软件LCM可以监视受管理软件的生命周期的终止,完成交易结算,并且从母VM的交易协议绑定去除软件交易协议。软件LCM还可以跟踪受管理软件的整个生命周期,并且在缴费点处开始缴费和收税程序。
受管理软件的生命周期可以在软件安装之后(例如,软件交易之后)或者在随着母VM克隆做出新软件拷贝的时候开始。受管理软件的生命周期可以在软件解除安装之后、软件交易期限届满之后、和/或当母VM被去除的时候、或当软件(及其母VM)被传输给另一用户的时候终止。
软件安装服务可以处理软件安装和解除安装请求,以将软件安装到母VM或从母VM解除安装软件。可以允许受管理软件仅通过软件安装服务安装。可以存在安装服务的多种可能的实现方式。安装服务可以将安装的软件注册到母VM的受管理软件列表中,从而软件LCM系统可以根据列表检查软件是否被合法安装。当受管理软件解除安装时,其可以从母VM的受管理软件列表中去除。
软件LCM系统能够防止非法软件拷贝。可以存在该软件拷贝控制的不同实现方式。可以利用虚拟化技术(例如,VMSafeTM),其可以监视客户系统中的程序执行和进程。云中的客户OS可以限于云感知(安全)OS,其能够控制客户系统中的软件安装和执行,从而客户OS能够让软件LCM系统检查受管理软件或客户OS自身是否是合法安装的。受管理软件可以是云感知的,并且受管理软件可以在软件程序启动时要求软件LCM系统检查其是否是合法安装的,并且可以在其是非法拷贝的情况下退出执行。
软件LCM系统可以记账受管理软件的存续(安装)时间,并且在缴费点处开始缴费和收税程序,如果软件交易协议包括涉及拥有时间的付款方案的话。
软件LCM系统可以记账受管理软件的运行时间和频率,并且在缴费点处开始缴费和收税程序,如果软件交易协议包括涉及使用的付款方案的话。软件使用记账也可以以不同的方式实现。可以利用虚拟化技术(例如,VMSafeTM),其能够监视客户系统中的程序执行。云中的客户OS的选择可以限于云感知(安全)OS,例如能够监视客户系统中的软件程序执行并向软件LCM系统报告受管理软件运行时间和频率的云感知OS。受管理软件可以是云感知的,并且要求软件CLM系统报告其自身的运行时间和频率。
软件LCM系统可以监视受管理软件的交易期限,并且在期限届满时解除安装软件或去除软件程序执行权利。交易期限可以用软件存续(安装)时间、软件程序运行时间、软件程序执行次数、或母VM加电时间来测量。
服务LCM系统可以监视服务的生命周期的开始,将服务交易协议添加到母VM或VM组的交易协议绑定,并且开始缴费和收税程序(如果服务交易协议要求的话)。服务LCM系统可以监视服务的生命周期终止,完成交易结算,并且从母VM或VM组的交易协议绑定去除服务交易协议。服务LCM系统还可以跟踪服务的整个生命周期,并且在缴费点处开始缴费和收税程序。
服务的生命周期可以在服务订购之后(例如,在服务交易之后)、或当随着母VM或VM组克隆做出新服务拷贝的时候开始。服务的生命周期可以在服务解除订购之后、服务交易期限届满之后、当母VM或VM组被去除的时候、或者当服务被传输(连同其母VM或VM组)到另一用户的时候终止。
服务订购服务可以处理服务订购和解除订购请求,以为母VM或VM组订购服务或解除订购服务。可以允许仅通过服务订购服务来订购服务。
服务LCM系统可以记账服务存续(订购)时间,并且在缴费点处开始缴费和收税程序,如果服务交易协议包括涉及拥有时间的付款方案的话。
服务LCM系统可以记账服务的服务时间,并且在缴费点处开始缴费和收税程序,如果服务交易协议包括涉及使用的付款方案的话。
服务LCM系统可以监视服务的交易期限,并且在期限届满时解除订购服务。交易期限可以用服务存续(订购)时间、服务的服务时间、或母VM或VM组加电时间来测量。
公开的软件许可和交易模型可以在多种不同的平台和/或环境中实现。本领域普通技术人员在阅读了说明书和附图之后将意识到公开内容的多种实现方式。例如,其它平台和/或环境可以包括PaaS云、移动平台、应用容器、受信计算机。这里公开的服务和/或机制可以包括在软件许可和交易模型的实现方式中。
在终端用户拥有平台的实施例中,用户可以在他们自己的平台上(例如,移动电话)运行应用。用户可以基于交易协议从另一用户或特定服务提供者购买对象(例如,软件程序)。终端用户的平台能够实施交易协议;平台能够监视对象操作、控制对象权利、跟踪对象生命周期、记账对象拥有时间和使用,而所有这些用户都不能干预。平台可以由中央服务器受信,以及/或者由另一平台受信。
交易可以通过中央服务器建立。在另一实施例中,交易可以通过一平台和另一平台(例如,买方平台和卖方平台)建立。中央服务器还可以用于产品注册、产品信息存储和检索、买卖、交易协议记录、缴费和收税、用户管理等。
图2进一步图示了这里公开的IaaS云环境中的多种服务。在一个或多个实施例中,一个或多个用户,例如软件卖主1081、VM卖主1082、消费者1083和服务提供者1084,可以访问云,并且用户管理系统202管理用户。在一个或多个实施例中,可以允许用户利用云的发布系统210发布对象(例如,软件、服务、VM、VM组等)。
例如,软件卖主1081可以注册软件,VM卖主或方案集成商或分发者1082可以注册VM或VM组,并且服务提供者1084可以注册服务。在一个或多个实施例中,用户可以在注册期间预定义一个或多个交易协议。此外,在一个或多个实施例中,消费者1083可以查询发布系统210以寻找希望的软件,并且可以通过发布系统210的查询服务找到希望的软件。在一个或多个实施例中,消费者1083可以向云的买卖系统212提交对于希望的软件的软件交易请求。提交之后,消费者1083可以在买卖系统212上开始与软件卖主1081的交易协议协商。
此外,消费者1083和软件卖主1081达成协议,并且将最终的交易协议传至交易验证服务。在一个或多个实施例中,交易验证服务可以检查交易协议,并且可以请求权利管理系统220检查目标VM的权利。此外,在检查之后,交易可以被验证并且软件安装请求可以被发送至软件LCM 224。软件安装服务可以将软件安装到目标VM,将软件交易协议添加到目标VM的交易协议绑定中。
类似地,在服务交易中,服务订购请求可以被发送到服务LCM 226,并且在VM或VM组交易中,VM或VM组传送请求可以被发送到VM LCM 228。服务LCM 226的订购服务可以允许消费者1083为VM或VM组订购服务,并且将服务交易协议添加到目标VM或VM组的交易协议绑定上。VM LCM 228的传送服务可以允许消费者1083使用VM或VM组,并且产生VM或VM组的交易绑定。
在软件交易、服务交易以及VM或VM组交易之后,缴费和收税系统214可以分别被软件LCM 224、服务LCM 226和VM LCM 228通知以向消费者1083收费。此外,交易缴费服务随后可以通知交易收税服务分别向软件卖主1081、服务提供者1084和VM卖主或方案集成商或分发者1082征税。
此外,软件LCM 224的运行时间记账服务可以开始计数软件的已安装时间、运行时间和频率。VM LCM 228的工作时间记账服务可以开始计数VM或VM组的存续时间和加电时间。服务LCM 226的服务时间记账服务可以开始计数服务的已订购时间和服务时间。软件运行时间记账服务、工作时间记账服务和服务时间记账服务中的每个随后可以在一个或多个缴费点处通知缴费与收税系统214。此外,软件LCM 224、服务LCM 226和VM LCM 228每一个中的交易期限监视服务可以开始分别检测软件、服务和VM或VM组的交易期限届满,并且可以在期限届满时触发相关动作。
VM OPS监视系统222可以监视VM或VM组对象和事件,并且通知权利管理系统220、软件LCM系统224、服务LCM系统226和VM LCM系统228。
图3是根据一个或多个实施例的云环境120的云基础架构122的简要图示。在一个或多个实施例中,云基础架构122包括处理器300、发布模块302、买卖模块304、缴费和收税模块306、权利管理模块308、操作监视模块312和对象生命周期管理模块310。处理器300可以控制和协调发布模块302、买卖模块304、缴费和收税模块306、权利管理模块308、操作监视模块312和对象生命周期管理模块310的功能。发布模块302可以被配置成控制云环境120内对象的发布。买卖模块304可以被配置成控制云环境120中使用对象120执行的交易。缴费和收税模块306可以被配置成控制使用对象102执行的缴费交易。此外,缴费和收税模块306还可以被配置成向云环境120中的对象102的一个或多个用户(分发者)征税。权利管理模块308可以被配置成控制并检查使用或执行与对象102的交易的权利。操作监视模块312可以被配置成监视对对象102的操作。对象生命周期管理模块310可以被配置成监视云环境120中的对象102的生命周期。
图4是根据一个或多个实施例的图1的云环境120的用户界面450的简要图示。在一个或多个实施例中,用户界面450可以显示选择结果窗口。选择结果窗口可以显示基于对象102的类型和/或对象的名称和其它特性的检索结果。对象102的类型可以包括但不限于应用、应用组、应用组件和服务。用户108可以将检索限制为特定类型的对象102。检索可以限于应用。
在一个或多个实施例中,用户界面450可以显示消费者1083虚拟本地窗口。消费者虚拟本地窗口可以显示消费者1083拥有的对象102。消费者1083拥有的对象102可以利用对象102的类型和对象102的名称来显示。虚拟本地窗口可以为用户提供访问对象的界面并提供存储和运行对象的环境(连同资源)。
图5是根据一个或多个实施例图示了图1的系统中的用户的操作的流程图。在操作502,对象102可以由第一用户(例如,开发者)1081发布在云环境120中。在操作504,对象102可以在云环境120中被注册为产品。在操作506,对象102可以被第二用户(例如,零售商)1082购买。在操作508,第二用户1082可以将改进110添加到对象102。在操作510,带有改进110的对象102可以由第二用户(例如,零售商)1082发布在云环境120中。在操作512,对象102和改进110可以被注册在云环境120中。在操作514,带有改进110的对象102可以被第三用户(例如,消费者)1083购买。在操作516,可以为访问带有改进的对象102向云环境120的第三用户(例如,消费者)1083收费。在操作518,第二用户(例如,零售商)1082可以为改进110从付款接收收益的一部分。在操作520,第一用户(例如,开发者)1081可以接收将对象102发布到云环境120的付款的收益的一部分。
图6是根据一个或多个实施例的客户设备600的简要图示。平台可以通过客户设备600访问。客户设备可以用来访问云中的对象(例如,虚拟机(VM))和/或用户界面450。客户设备的示例包括但不限于便携式电子设备、通信设备、膝上型计算机、台式机等。在一个或多个实施例中,客户设备104包括可操作地耦合到总线608的处理器300。处理器300控制并处理客户设备600的多种功能。在一个或多个实施例中,处理器300可操作地耦合到监视模块。监视模块可以被配置成通过客户设备600监视云环境120中的对象的使用。
此外,客户设备600还可以包括耦合到总线608用于存储可由处理器300使用的信息的存储器,例如随机存取存储器(RAM)604或其它存储装置602,例如动态存储设备。存储装置604可以包括例如闪存驱动、笔驱动(pendrive)、硬盘或任何其它存储介质。存储器可以用于存储所需的任何临时信息,例如,软件运行时间、VM的工作时间等。客户设备600还包括耦合到总线608的只读存储器(ROM)606或其它静态存储设备,用于存储用于处理器300的静态信息。客户设备104可以通过总线608耦合到显示器612,显示器的示例包括但不限于阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)显示器,用于将显示提供给客户设备600的一个或多个用户。包括字母数字的输入设备614和其它设备可以耦合到总线608,用于向处理器300提供输入。
另一种类型的输入设备614可以是光标控制、例如鼠标、跟踪球、或光标方向键,用于向处理器300提供输入并且控制显示器612上的光标移动。输入设备614还可以包括在显示器612中,例如触摸屏。在一些实施例中,客户设备可以经由总线610耦合到网络接口616。多种实施例涉及使用客户设备104来实现这里描述的技术。在一个或多个实施例中,技术是由处理器300使用存储器中包括的信息来执行的。在一个或多个实施例中,信息被从机器可读介质622读入存储器中。这里使用的术语“机器可读介质”可以指代参与提供引起机器以特定方式工作的数据的任何介质。在一个或多个通过客户设备600实现的实施例中,涉及例如多种机器可读介质向处理器300提供信息。
机器可读介质622可以是存储介质。存储介质包括非易失性介质和易失性介质两者。非易失性介质例如包括光盘或磁盘、例如存储单元。易失性介质包括动态存储器,例如存储器。所有这些介质必须是有形的以使介质承载的信息能够被物理机构所检测,其中物理机构将信息读入机器。机器可读介质622的常用形式例如包括软盘、可折叠盘、硬盘、磁带或任何其它磁介质、CD-ROM、任何其它光介质、打孔卡、纸带、任何其它具有孔图案的物理介质、RAM、PROM和EPROM、FlASH-EPROM、任何其它存储器芯片可或带。在另一实施例中,机器可读介质可以是传输介质,包括同轴电缆、铜导线和光纤,包括包括总线610的导线。传输介质还可以采用声波或光波,例如在无线电波或红外数据通信期间产生的信号。
尽管已经参考具体示例性实施例描述了当前实施例,但是很明显在不背离多个实施例的较宽精神和范围的前提下,可以对这些实施例进行多种修改和改变。例如,可以使用硬件电路(例如,基于CMOS的逻辑电路)、固件、软件和/或硬件、固件和/或软件(例如,包括在机器可读介质中)的任意组合来实现并运行这里描述的多种设备、模块、分析器、发生器等。例如,可以使用晶体管、逻辑门和电子电路(例如,专用集成电路(ASIC)和/或数字信号处理器(DSP)电路)来实现多种电子结构和方法。
考虑到上述实施例,应当理解本发明的一个或多个实施例可以采用多种涉及存储在计算机系统中的数据的计算机实现的操作。这些操作是需要对物理量进行的物理操纵。通常,尽管不是必须的,这些物理量采用能够被存储、传输、组合、比较以及以其它方式操纵的电信号或磁信号形式。此外,所执行的操纵通常以术语产生、标识、确定或比较来指代。这里描述的构成本发明一个或多个实施例的一部分的任意操作是有用的机器操作。本发明的一个或多个实施例还涉及执行这些操作的设备或装置。装置可以为所需目的专门构建,例如上文讨论的载波网络,或者其可以是通用计算机,其被存储在计算机中的计算机程序有选择地激活或配置。特别地,多种通用机器可以与根据这里的教导编写的计算机程序一起使用,或者构建更为专门的装置来执行所需的操作可能是更便利的。
这里描述的编程模块和软件子系统可以使用诸如Flash、JACATM、C++、C、C#、Visual Basic、JavaScript、PHP、XML、HTML等或编程语言的组合来实现。诸如SOAP/HTTP的协议可以被用来实现编程模块之间的接口。本领域普通技术人员将知晓,上文以及这里其它地方描述的组件和功能可以实现在任何桌面操作系统上,例如Microsoft Windows、Apple Mac、Unix/X-Windows、Linux等的不同版本上,在虚拟化或非虚拟化环境中执行,使用适于桌面软件开发的任何编程语言。
编程模块和辅助软件组件,包括配置文件,以及提供在电信网络上为订户排查故障的方法和装置和这里所描述的相关功能所需的配置文件,可以被存储在计算机可读介质中。任何适于提供来自所连接计算机的下载的计算机介质,例如闪存驱动、CD-ROM盘、光盘、软盘、硬驱动、共享驱动和存储装置,可以用于存储编程模块和辅助软件组件。本领域普通技术人员将知晓,任何存储介质可以用于存储这些软件组件,只要存储介质能够被计算机系统读取。
本发明的一个或多个实施例可以与其它计算机系统配置(包括手持设备、微处理器系统、基于微处理器或可编程的消费电子设备、微型计算机、大型主机等)一起实施。本发明还可以在分布式计算环境中实现,其中任务是由通过网络链接的远程处理设备执行的。本发明的一个或多个实施例还可以实现为计算机可读介质上的计算机可读代码。计算机可读介质是能够存储数据的任何数据存储设备,其中数据之后能够被计算机系统读取。计算机可读介质的示例包括硬驱动、网络附接存储(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、DVD、闪存、磁带、以及其它光学和非光学数据存储设备。计算机可读介质还可以分布在网络耦合的计算机系统上,从而计算机可读代码以分布的方式被存储并被执行。尽管已经描述了本发明的一个或多个实施例,但是本领域普通技术人员在阅读了说明书和附图之后将意识到其多种修改、添加、置换和等同形式。因此本发明的实施例意在包括所有这些落在权利要求所定义的真实发明范围和精神内的修改、添加、置换和等同形式。因此,本发明的范围应当由权利要求定义,包括其全部等同形式。

Claims (23)

1.一种服务器设备的方法,包括:
发布用户的对象的可用性,从而所述对象由另一用户通过用户界面检索;
使能所述用户和所述另一用户之间的交易,所述交易专用于所述另一用户对所述对象的访问;
确定定义所述用户和所述另一用户之间的交易的交易协议,所述交易协议包括所述另一用户对所述对象的访问范围;
基于付款方案确定从所述另一用户收取的钱数,其中所述付款方案基于所述交易协议;以及
监视所述另一用户对所述对象的访问,从而对所述对象的访问被限制在所述交易协议定义的访问范围内,从而通过对所述另一用户对所述对象的访问的管理来控制对所述对象的盗版。
2.如权利要求1所述的方法,
其中所述对象被存储并且运行在平台上;
其中所述对象是应用、应用组、应用组件和服务之一;以及
其中所述平台是监管器、应用容器、移动平台和包括受信操作系统的计算机中的至少一个。
3.如权利要求1所述的方法,进一步包括:
将所述交易协议联接到所述对象,从而包括所述交易协议的所述对象基于所述交易协议而被控制;以及
防止所述用户修改与所述对象相联接的所述交易协议。
4.如权利要求2所述的方法,进一步包括通过云环境提供平台,其中所述云环境是平台即服务云和基础架构即服务云中的至少一个。
5.如权利要求4所述的方法,
其中所述应用是虚拟机;
其中所述应用组是虚拟机组;
其中所述应用组件是安装在所述虚拟机中的客户操作系统和应用软件中的一个;以及
其中所述服务被所述虚拟机和所述虚拟机组之一订购并提供服务。
6.如权利要求1所述的方法,其中所述交易是应用和应用组之一的克隆交易和授予交易、应用组件交易和服务交易中的一个。
7.如权利要求1所述的方法,其中所述交易协议包括付款方案、期限和一组对象权利中的一个。
8.如权利要求7所述的方法,其中所述付款方案包括固定付款、对象拷贝付款、对象使用付款和对象拥有时间付款中的至少一个。
9.如权利要求8所述的方法,其中所述付款方案基于分级分发模型,从而向再一用户分发所述对象的所述另一用户分享销售所述对象和对象拷贝的收益。
10.如权利要求1所述的方法,进一步包括:
基于所述交易协议实施使用和访问所述对象的权利;
通过监管器实施所述权利;
通过客户的操作系统实施所述权利,其中所述客户的所述操作系统感知云环境的使用;以及
由所述对象实施所述权利,其中所述对象感知所述云环境。
11.如权利要求10所述的方法,进一步包括基于基于认证限制参与的限制因素,防止所述用户参与所述交易。
12.如权利要求1所述的方法,进一步包括:
基于所述交易协议的验证来证实所述交易;以及
比较另一对象的另一交易协议,其中所述另一对象是所述对象的后代对象,从而所述另一对象的所述另一交易协议与所述对象的所述交易协议相兼容。
13.如权利要求12所述的方法,进一步包括:
监视对象操作;以及
控制所述对象操作,从而所述对象操作符合与所述对象相联接的所述交易协议。
14.如权利要求1所述的方法,进一步包括:
管理所述对象的生命周期,从而所述生命周期的管理基于所述交易协议;
基于所述交易协议开始缴费程序和收税程序中的一个;
通过所述监管器管理对象生命周期;
通过客户的操作系统管理所述对象的生命周期,其中所述客户的操作系统感知所述云环境;以及
通过所述对象管理所述对象的生命周期,其中所述对象感知云环境的操作。
15.如权利要求14所述的方法,进一步包括:
监视对象生命周期开始并将所述交易协议联接到所述对象;
监视对象生命周期终止并结算所述交易;
记账所述对象拥有时间和对象使用;
监视所述对象的交易期限届满;
基于所述对象的交易协议在期限届满时触发相应动作;
维护所述应用和应用组对象的克隆历史;以及
在缴费点处开始缴费与收税程序。
16.如权利要求14所述的方法,进一步包括:
在所述交易之后传送所述对象;以及
防止非法对象拷贝。
17.如权利要求16所述的方法,进一步包括:
基于所述对象的交易协议动态计算付款;
基于所述对象的交易协议收取所述付款;以及
对卖方征收交易税。
18.如权利要求17所述的方法,进一步包括:
基于发布者的信用和推介、对所述对象的交易频率和次数、所做的全部拷贝数、使用所述对象的全部时间、使用对象拷贝的平均时间、包括所述付款和资源使用成本在内的使用所述对象的成本、已经使用所述对象的用户的评分、以及对象特有评估的结果,对所述对象排名。
19.一种以包括一组指令的机器可读介质形式实现的权利要求1的方法,其中当所述一组指令由机器执行时,引起所述机器执行权利要求1定义的方法。
20.一种服务器设备的方法,包括:
使能对象的发布,从而所述对象由另一用户通过用户界面检索;
使能所述用户和所述另一用户之间的交易,所述交易专用于所述另一用户对所述对象的访问;
确定定义所述用户和所述另一用户之间的交易的交易协议,所述交易协议包括所述另一用户对所述对象的访问范围;
基于付款方案确定从所述另一用户收取的钱数,其中所述付款方案基于所述交易协议;以及
使能所述对象的分发,从而所述用户的所述对象对所述另一用户可用。
21.如权利要求20所述的方法,其中:
所述对象是应用、应用组、应用组件和服务中的一个。
22.一种系统,包括:
对象;
存储和运行所述对象的平台;
处理所述对象的交易的处理器;
确定所述对象的访问范围的交易协议;以及
基于所述交易协议确定通过所述交易收取的钱数的付款方案。
23.如权利要求22所述的系统,其中所述对象是应用、应用组、应用组件和服务中的一个。
CN2010102518799A 2010-08-12 2010-08-12 云环境中软件的弹性许可 Pending CN102376064A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010102518799A CN102376064A (zh) 2010-08-12 2010-08-12 云环境中软件的弹性许可
US13/197,577 US20120041844A1 (en) 2010-08-12 2011-08-03 Elastic licensing of software in a cloud environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102518799A CN102376064A (zh) 2010-08-12 2010-08-12 云环境中软件的弹性许可

Publications (1)

Publication Number Publication Date
CN102376064A true CN102376064A (zh) 2012-03-14

Family

ID=45565487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102518799A Pending CN102376064A (zh) 2010-08-12 2010-08-12 云环境中软件的弹性许可

Country Status (2)

Country Link
US (1) US20120041844A1 (zh)
CN (1) CN102376064A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810405A (zh) * 2012-11-09 2014-05-21 国际商业机器公司 用于软件许可管理的方法和装置
CN118094490A (zh) * 2024-04-29 2024-05-28 深圳市瑞能实业股份有限公司 基于注册码的软件弹性授权保护系统

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10673952B1 (en) * 2014-11-10 2020-06-02 Turbonomic, Inc. Systems, apparatus, and methods for managing computer workload availability and performance
US20130117224A1 (en) * 2011-11-04 2013-05-09 Salesforce.Com, Inc. System, method and computer program product for cloning a child object with a parent object
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US9317337B2 (en) * 2012-04-13 2016-04-19 International Business Machines Corporation Utilizing software component metadata to provision virtual machines in a networked computing environment
US10664296B2 (en) * 2012-06-27 2020-05-26 Qatar Foundation Allocating network interface resources to virtual machines based on total cost
EP2852889A1 (en) * 2012-06-27 2015-04-01 Qatar Foundation An arrangement configured to allocate one or more resources of one or more computing devices to a virtual machine
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US9542400B2 (en) 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US10521746B2 (en) 2012-09-07 2019-12-31 Oracle International Corporation Recovery workflow for processing subscription orders in a computing infrastructure system
US9015114B2 (en) 2012-09-07 2015-04-21 Oracle International Corporation Data synchronization in a cloud infrastructure
US10148530B2 (en) * 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9253113B2 (en) 2012-09-07 2016-02-02 Oracle International Corporation Customizable model for throttling and prioritizing orders in a cloud environment
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
US9667470B2 (en) 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
US9609080B2 (en) * 2013-03-12 2017-03-28 Cyberlink Corp. Systems and methods for device identity delegation for application software
JP6541694B2 (ja) * 2014-06-11 2019-07-10 オラクル・インターナショナル・コーポレイション 既存のサブスクリプションを用いたサービスのサブスクリプションの提供
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
US10291706B1 (en) * 2016-03-24 2019-05-14 EMC IP Holding Company LLC Container image distribution acceleration
US10148665B2 (en) 2016-05-10 2018-12-04 Microsoft Technology Licensing, Llc Self-service acquisition of subscriptions to online services
US9811806B1 (en) 2016-09-15 2017-11-07 International Business Machines Corporation Determining license use for composed container services in cloud platforms
US10922089B2 (en) * 2016-09-22 2021-02-16 Groupon, Inc. Mobile service applications
JP6767308B2 (ja) * 2017-05-23 2020-10-14 ファナック株式会社 機械と相互通信可能に接続される機械制御用コンピュータ、機械システム、ベースソフトウェア、コンピュータ読取可能な記録媒体、データ構造、及び機械制御方法
CN107979493B (zh) * 2017-11-21 2019-10-29 平安科技(深圳)有限公司 平台即服务paas容器平台的构建方法、服务器及存储介质
US11283948B2 (en) * 2018-04-10 2022-03-22 Fujifilm Business Innovation Corp. Information processing apparatus having second application creatable from first application
US10740205B2 (en) * 2018-04-20 2020-08-11 International Business Machines Corporation Calculation of a software usage metric
US11128629B2 (en) 2018-09-19 2021-09-21 Google Llc Escalating user privileges in cloud computing environments
US11531532B2 (en) * 2019-01-16 2022-12-20 Vmware, Inc. Remote deployment of provisioned packages
US20230259384A1 (en) * 2022-02-16 2023-08-17 Druva Inc. System and method for context-aware application management in container deployment environments

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216871A (zh) * 2007-12-28 2008-07-09 中国科学院计算技术研究所 一种数字版权保护方法和系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7421411B2 (en) * 2001-07-06 2008-09-02 Nokia Corporation Digital rights management in a mobile communications environment
US7487363B2 (en) * 2001-10-18 2009-02-03 Nokia Corporation System and method for controlled copying and moving of content between devices and domains based on conditional encryption of content key depending on usage
US7433835B2 (en) * 2004-01-27 2008-10-07 Amazon Technologies, Inc. Providing a marketplace for web services
US7867094B1 (en) * 2004-11-18 2011-01-11 Turbo Squid, Inc. Methods for promoting the development and sharing of content and a dynamically modified computer game
US20070078773A1 (en) * 2005-08-31 2007-04-05 Arik Czerniak Posting digital media
US8782637B2 (en) * 2007-11-03 2014-07-15 ATM Shafiqul Khalid Mini-cloud system for enabling user subscription to cloud service in residential environment
US20110214124A1 (en) * 2010-02-26 2011-09-01 James Michael Ferris Systems and methods for generating cross-cloud computing appliances

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101216871A (zh) * 2007-12-28 2008-07-09 中国科学院计算技术研究所 一种数字版权保护方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭强: "论软件二次开发的知识产权保护", 《中国优秀硕士学位论文全文数据库 社会科学Ⅰ辑》, 15 November 2009 (2009-11-15), pages 117 - 116 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103810405A (zh) * 2012-11-09 2014-05-21 国际商业机器公司 用于软件许可管理的方法和装置
CN103810405B (zh) * 2012-11-09 2017-04-12 国际商业机器公司 用于软件许可管理的方法和装置
CN118094490A (zh) * 2024-04-29 2024-05-28 深圳市瑞能实业股份有限公司 基于注册码的软件弹性授权保护系统
CN118094490B (zh) * 2024-04-29 2024-07-05 深圳市瑞能实业股份有限公司 基于注册码的软件弹性授权保护系统

Also Published As

Publication number Publication date
US20120041844A1 (en) 2012-02-16

Similar Documents

Publication Publication Date Title
CN102376064A (zh) 云环境中软件的弹性许可
US10956973B1 (en) System and method for verifiable invoice and credit financing
US20200402062A1 (en) Data processing method, apparatus and computer-readable non-transitory storage medium
US8626596B2 (en) Online transaction method and system using a payment platform and a logistics company
US20160005016A1 (en) Metering System For Software Licenses
EP2413278A1 (en) Plug-in system and method for consumer credit acquisition
KR20160037175A (ko) 소매상들을 이용하여 서브스크립션들을 신디케이팅하기 위한 시스템
US20160093009A1 (en) Techniques for facilitating a negotiation
US20140365384A1 (en) Cross-store licensing for third party products
JP6554304B2 (ja) 統合決済サービスを提供するクラウドサービスの提供方法およびシステム
KR102745360B1 (ko) 아이템 판매 정보 처리를 위한 전자 장치 및 그 방법
US20180114268A1 (en) Methods and apparatus for conducting trade exchange purchase and sale transactions using partial virtual currency and partial cash payments
KR20210037247A (ko) 블록체인 기반 상품 구매 중계 시스템 및 방법
CN109598612A (zh) 资源延期交付的方法和装置
KR102094938B1 (ko) 블록체인 기반의 콘텐츠 유통 방법 및 이를 수행하기 위한 장치
US20230401571A1 (en) Maintaining blockchain state when performing non-blockchain commerce workflow
US20200265393A1 (en) Predictive analytics for abnormal event resolutions
KR102215542B1 (ko) 데이터 서비스 처리
CA3099281C (en) Systems and methods to regulate sales of a product in an online store
CN113129086B (zh) 一种增值税抵扣方法、装置、系统、设备及介质
WO2022005915A1 (en) Cluster job submission
KR101908214B1 (ko) 클라우드 기반 잉여 컴퓨팅 자원 원격사용 중개 플랫폼
CA3089640A1 (en) Method and system to dynamically route funding to virtual payment cards to resell subscription merchandise
CN113228080B (zh) 使用云服务代理基础设施进行数字产品载入和分发的系统及方法
KR20220095056A (ko) 정기적 거래의 세금계산서, 계산서 및 현금영수증을 자동으로 발행하는 거래증빙 발행 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20120314

RJ01 Rejection of invention patent application after publication