CN101359392A - 促进软件产品动态配置 - Google Patents

促进软件产品动态配置 Download PDF

Info

Publication number
CN101359392A
CN101359392A CNA2008101440450A CN200810144045A CN101359392A CN 101359392 A CN101359392 A CN 101359392A CN A2008101440450 A CNA2008101440450 A CN A2008101440450A CN 200810144045 A CN200810144045 A CN 200810144045A CN 101359392 A CN101359392 A CN 101359392A
Authority
CN
China
Prior art keywords
software product
software
user
module
visit
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
CNA2008101440450A
Other languages
English (en)
Other versions
CN101359392B (zh
Inventor
R·W·库克
D·B·德格拉夫
A·A·伍兹
A·H-U·李
S·L·莫洛伊
M·A·马尔
H·D·史密斯
G·科塔克
L·E·伍兹
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.)
Intuit Inc
Original Assignee
Intuit Inc
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 Intuit Inc filed Critical Intuit Inc
Publication of CN101359392A publication Critical patent/CN101359392A/zh
Application granted granted Critical
Publication of CN101359392B publication Critical patent/CN101359392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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]
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

促进软件产品动态配置。本发明描述了一种用于提供对软件产品的至少部分的访问的系统。在操作期间,此系统从第一位置接收购买信息,其中购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中由软件产品中的第一模块子集来提供已购买的软件特征。接着,系统从第二位置接收访问请求,可以从所述第二位置访问软件产品,其中,访问请求包括在用户购买对已购买软件特征的访问时提供给用户的标识符。接着,系统向第二位置提供配置指令,其中,配置指令动态地启用第一模块子集。

Description

促进软件产品动态配置
相关申请的交叉引用
本申请是发明人Edmund Y.L.Sung、Timothy A.Rosemore、Jennifer Possin、Raymond S.Tenenbaum以及Stephen L.Molloy于2006年6月27日提交的名为“Method and Apparatus for Authorizinga Software Product to be Used on a Computer System”的未决美国专利申请序列号No.11/476,990(代理卷号No.INTU-060798)的部分继续申请,在此引入其内容作为参考。由此,本申请根据35U.S.C§120要求上述母案专利申请的优先权。
技术领域
本发明涉及用于动态配置软件产品的技术。更具体地,本发明涉及促进软件产品动态配置的系统。
背景技术
尽管当前在线商务有了显著增长,物理零售设施仍是重要的销售渠道。不幸的是,这些物理零售设施具有固有的操作成本,该操作成本可能限制利润率。例如,为了满足不同客户的需要,许多零售设施具有多种多样的产品并且维护较大库存。然而,多种多样的产品和较大库存增加了运营零售设施的开销,例如,需要较大的展示空间所导致的开销。
这些问题还影响了软件产品。特别地,许多软件供应商提供一个产品族中的一套紧密相关的软件产品,这些软件产品具有不同特征和价格,诸如报税软件的消费者版本和专业版本。通常,这些产品族中的软件产品共享多个模块。由此,当需要改变给定模块时,这些改变可能影响多个软件产品,并且对测试和分发具有相关联的影响。
零售设施通常具有并展示给定产品族中的各种软件产品,这需要有偿的货架或者地板空间,由此增加了零售设施的大小,并且显著增加了库存需求。不幸的是,通常难以针对如此大范围的软件产品进行适当管理。由此,零售设施可能对于流行的软件产品而言库存过小,而对于不太流行的软件产品而言库存过大。
此外,公司通常将一组离散的特征捆绑至这些软件产品中的每个,以尝试满足特定客户群的需要以及对软件产品进行彼此区分。然而,客户通常基于这些特征的较小子集来购买给定软件产品,并且对于客户而言其余特征的附加价值较小或者没有附加价值。此外,这些附加特征通常增加了给定软件产品中用户界面的复杂性,并且由此可能降低软件产品的整体用户体验。
由此,通过零售设施的软件产品销售常常由于需要提供各种各样具有不同固定特征集合的软件产品而变得复杂。
发明内容
本发明的一个实施方式涉及一种提供对软件产品的至少部分的访问的系统。在操作期间,此系统从第一位置接收购买信息,其中,购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中,由软件产品中的第一模块子集来提供已购买的软件特征。接着,系统从第二位置接收访问请求,其中,访问请求包括在用户购买对已购买软件特征的访问时提供给用户的标识符。接着,系统向第二位置提供配置指令,从所述第二位置处可以访问软件产品,其中,配置指令动态地启用第一模块子集。
在某些实施方式中,配置指令包括解密密钥。例如,解密密钥包括公钥,所述公钥与用以对软件产品的至少部分加密的私钥相关联。
在某些实施方式中,动态启用第一模块子集允许用户使用已购买的软件特征:不必重新安装软件产品的部分;不必首先重启安装所述软件产品的计算机;和/或不必安装所述软件产品的其他部分。此外,在某些实施方式中,动态启用第一模块子集允许用户使用已购买的软件特征而不必下载附加的模块。
在某些实施方式中,在计算机上执行所述软件产品的同时,动态地启用所述第一模块子集。
在某些实施方式中,配置指令促进由用户“依菜单定制(a lacarte)”地从软件产品中已经进行了测试和编译的模块中选择已购买的软件特征。
在某些实施方式中,第一位置是物理零售设施和/或在线零售设施。此外,所述第一位置可以不同于第二位置。
在某些实施方式中,通过服务器经由网络向所述第二位置提供配置指令。
在某些实施方式中,在一段时间间隔之后,重复接收访问请求和提供配置指令的操作,由此允许在软件产品中启用的当前软件特征的同步。
在某些实施方式中,系统从用户处接收购买请求以及支付,其中,所述购买请求包括与附加购买的软件特征相关联的信息,并且其中,所述附加购买的软件特征与软件产品中的第二模块子集相关联。接着,系统向所述第二位置提供附加配置指令,其中所述附加配置指令动态地启用所述第二模块子集。注意,附加购买的特征可以不同于已购买特征,或者附加购买的特征可以与已购买特征至少部分地重叠。此外,在某些实施方式中,支付基于附加购买的软件特征。
另一实施方式涉及与所述系统结合使用的计算机程序产品。此计算机程序产品可以包括与至少一些上述操作对应的指令。
另一实施方式提供用于访问所述软件产品的至少部分的方法。此方法可以执行至少一些上述操作。
附图说明
图1是示出了根据本发明一个实施方式的包括网络连接在一起的计算机和服务器的计算机系统的框图;
图2是示出了根据本发明一个实施方式的用于访问软件产品的至少部分的方法的流程图;
图3是示出了根据本发明一个实施方式的计算机系统的框图;
图4是示出了根据本发明一个实施方式的数据结构的框图;以及
图5是示出了根据本发明一个实施方式的数据结构的框图。
注意,贯穿附图,相同的参考数字表示相应的部件。
具体实施方式
给出下文的说明书是为了使本领域技术人员能够制造和使用本发明,并且说明书是在特定应用及其需求的上下文中提供的。对于所公开实施方式的各种修改对于本领域技术人员而言是易见的,并且在此定义的一般原理可以应用于其他实施方式和应用,而并不脱离本发明的精神和范围。由此,本发明并非旨在限于所示出的实施方式,而是符合与在此公开的原理和特征相一致的最广泛的范围。
描述了与计算机系统结合使用的计算机程序产品(例如,软件)、方法和计算机系统的实施方式。这些系统、软件和过程可以用来提供对软件产品的至少部分的访问。特别地,计算机系统可以向先前已经购买了对软件特征的访问的用户提供配置指令。这些配置指令可以动态地启用软件产品中与已购买软件特征相关联的模块子集。注意,可以在物理零售设施中购买和/或在在线零售设施(诸如,网站或者网页)中购买对软件特征的访问。
在某些实施方式中,配置指令促进由用户“依菜单定制”地从软件产品中已经进行了测试和编译的模块中选择已购买的软件特征。此外,用户可以动态配置模块子集:不必重新安装软件产品的部分;不必首先重启安装了所述软件产品的计算机;和/或不必安装所述软件产品的其他部分。
稍后,用户可以从计算机系统购买附加软件特征,并且计算机系统可以提供附加配置指令,所述配置指令用以动态地启用软件产品中与附加软件特征相关联的附加模块子集。注意,附加模块可以不同于模块子集、或者可以至少部分地重叠于模块子集,并且支付可以基于附加购买的软件特征。
这些技术可以实现为独立软件应用,或者实现为另一应用中的子例程或者程序模块。此外,可以将程序的至少部分配置为在客户端计算机(诸如,个人计算机、膝上型计算机、蜂窝电话、PDA或者能够操纵计算机可读数据的其他设备)上执行,或者通过网络(诸如,互联网、内联网、LAN、WAN、MAN或者网络的结合、或者支持在计算系统之间通信的其他技术)经由相关联的计算系统而从客户端计算机远程执行。由此,购买信息、软件产品和配置指令可以本地存储(例如,在本地计算机上)和/或远程地存储(例如,在经由网络访问的计算机或者服务器上)。
通过动态地启用先前经过测试和编译的软件产品中的特征子集和/或模块子集,这些技术允许将此软件产品中的软件特征定制为给定用户的需要。由此,此能力允许零售设施具有并且展示较少的软件产品,由此来简化操作、降低开销和/或降低库存中的短缺和过剩。此外,这种软件产品通常复杂性较低,并且易于测试和分发。例如,通过允许用户仅购买他们感兴趣的那些特征,可以简化用户界面并且可以改进整体用户体验。
现在描述用于提供对软件产品的至少部分的访问的系统、设备和过程的实施方式。图1给出了示出包括网络连接在一起的计算机和服务器的计算机系统100的实施方式。在此实施方式中,用户可以首先从一个或者多个零售设施116购买软件产品或者对软件产品的至少部分的访问,所述零售设施包括商店118、分发者120、网站122和/或其他销售渠道。通常,软件产品或者软件产品的至少部分包括用户可能使用的一个或者多个软件特征。此外,这些软件特征与软件产品中的至少一个模块子集相关联。
当用户购买软件产品或者购买对软件产品的部分的访问时,用户接收对应于用户购买的标记或者标识符。此外,用户可以接收关于如何使用该标识符来接收软件产品的指令,或者关于如何启用对软件产品的部分的访问的指令。例如,用户可以购买软件产品的加密版本,以及(如下所述)用户可以遵循指令并使用标识符来启用对软件产品的至少部分的访问。可替换地,用户可以遵循指令并且使用标识符来接收软件产品的至少部分或者访问与软件产品的至少部分相关联的软件特征。
在完成购买事务之后,零售设施(例如,商店118)可以经由网络112(例如,互联网)来向服务器114提供购买信息。此服务器可以与软件产品的提供商相关联,并且购买信息可以包括:提供给用户的标识符、以及关于用户已经购买了对其的访问的软件产品或者软件产品的部分的信息。更一般地,购买信息包括关于用户已经购买了对其的访问的已购买软件特征的信息。
然后,用户可以通过网络112从计算机110访问服务器114。计算机110可以位于远离零售设施116的位置。例如,计算机110可以位于用户的本地或者工作站位置。当用户访问服务器114时,用户可以提供包括标识符的访问请求。
基于购买信息和访问请求,服务器114可以允许用户访问软件产品(其可与软件模块子集相关联)中的模块子集和/或特征子集。在某些实施方式中,服务器114可以向计算机110提供配置信息。这些配置指令可以动态地启用模块子集和/或特征子集。例如,配置指令可以包括例如公钥的解密密钥,所述公钥与先前用以对软件产品的至少部分加密的私钥相关联。使用此解密密钥,用户可以解密从零售设施116之一购买的软件产品的至少部分。
在示例性实施方式中,用户在计算机110上安装已购买的软件产品。此软件产品可以包括多个模块(与不同软件特征相关联)。此外,多个模块可以是已经编译和测试的,并且由此为使用做好了准备。然而,可以加密这些模块,从而使用户在使用模块之前首先需要解密给定模块。通过访问和接收配置指令(包括一个或者多个解密密钥),用户可以解密和使用用户已经购买了对其的访问的适当模块子集。
注意,在这些实施方式中,由零售设施116销售的软件产品可以包括比通常用户可能希望在给定时间访问的要多的模块和/或软件特征。零售设施116可以存储软件产品的通用版本,而不是存储和销售此软件产品的不同版本。此外,零售设施116可以通过允许用户“依菜单定制”地来选择用户可能希望访问的那些软件特征,以便将此通用软件产品定制为特定用户的需要。如上所述,计算机系统100允许用户随后接收适当的配置指令,以动态地启用已购买的模块子集和/或软件特征子集。
可以对软件产品中的软件特征的模块子集和/或软件特征子集执行动态启用,而用户:不必重新安装所述软件产品的部分;不必首先重启安装了所述软件产品的计算机;和/或不必安装所述软件产品的另一部分。此外,在某些实施方式中,动态启用模块子集和/或软件特征子集允许用户使用已购买的软件特征而不必下载其他模块。由此,在计算机110上执行软件产品的同时,可以动态地启用模块子集和/或软件特征子集。
在某些实施方式中,在一段时间间隔之后,用户重复向服务器114提供访问请求的操作,并且服务器114重复提供配置指令的操作。例如,配置指令的版本在所述时间间隔之后可能过期,并且可能需要更新版本。这允许对在软件产品中启用的当前软件特征的同步,或者可以允许对基于订购而销售的软件特征的访问。由此,用户可以例行地或者周期性地支付,以便继续对模块子集和/或软件特征子集的访问。
此外,在最初购买之后,用户可以选择购买对软件产品中的附加模块子集和/或附加软件特征子集的访问。在这些实施方式中,用户可以从零售设施116之一或者直接从软件产品的提供商处(例如,经由服务器114)购买对附加软件特征的访问。在从用户(可以基于附加软件特征)接收购买需求(包括与附加软件特征相关联的信息)以及支付之后,服务器114可以提供附加配置指令,所述附加配置指令对计算机110动态地启用附加模块子集和/或附加软件特征子集。注意,这些附加软件特征可以包括用户所购买的原始软件特征,可以与原始软件特征部分地重叠,或者可以是不同的软件特征。此外,附加模块子集可以包括模块子集,可以与模块子集部分地重叠,或者可以包括不同模块。
在其他实施方式中,用户在购买时没有从零售设施116之一处接收软件产品。例如,用户随后可以从服务器114将软件产品下载至计算机110。注意,软件产品可以是计算机110上的独立应用,和/或可以嵌入另一应用。在一个示例性实施方式中,软件产品包括申报所得税软件和/或财务记账软件。
在某些实施方式中,所得税软件包括:TurboTaxTM(来自加利福尼亚州Mountain View的Intuit公司)、TaxActTM(来自爱荷华州Cedar Rapids的2nd Story Software公司)和或能够申报所得税退税的其他软件。此外,在其他实施方式中,财务记账软件包括薪金记账软件,诸如QuickBooksTM(来自加利福尼亚州Mountain View的Intuit公司)、PeachTree CompleteTM(来自英国伦敦的Sage Group PLC)、MYOB Business EssentialsTM(来自新泽西州Rockaway的MYOB US公司)、NetSuite Small Business AccountingTM(来自加利福尼亚州San Mateo的NetSuite公司)、Cougar MountainTM(来自爱达荷州Boise的Cougar Mountain Software)、Small Business ManagerTM(来自华盛顿州Redmont的Microsoft公司)、Simply AccountingTM(来自英国伦敦的Sage Group PLC)、CYMA IV AccountingTM(来自亚利桑那州Temple的CYMA Systems公司)、DacEasyTM(来自佐治亚州Lawrenceville的Sage Software SB公司)、Microsoft MoneyTM(来自华盛顿州Redmont的Microsoft公司)和/或能够处理薪金信息的其他财务记账软件。最后,在某些实施方式中,财务记账软件包括财务计划软件,诸如QuickenTM(来自加利福尼亚州MountainView的Intuit公司)、Microsoft MoneyTM(来自华盛顿州Redmont的Microsoft公司)、SlashMoneyTM(来自加拿大Los Gatos的SplashData公司)、MvelopesTM(来自犹他州Draper的In2M公司)、和/或其他开源应用,诸如GnucashTM、PLCashTM、BudgetTM(来自LLC的Snowmint Creative Solutions)、和/或能够处理财务信息的其他财务计划软件。
尽管软件产品可以驻留在计算机110上,其他实施方式可以利用嵌入网页(再次,或者作为单独应用或者作为另一应用的部分)中的软件工具。此网页可以由服务器114经由网络112来提供。在一个示例性实施方式中,财务软件工具是以如下语言编写的软件包:如JavaScriptTM(即,该财务软件工具包括包含JavaScript指令的程序或者过程)、ECMAScript(由欧洲计算机制造协会国际发布的规范)、VBScriptTM(Microsoft公司的商标)或者任何其他客户端侧或者服务器侧的脚本语言。换言之,软件工具可以包括这样的程序或者过程,所述程序或者过程中包含JavaScript指令、ECMAScript指令、VBScript指令或者以适于由浏览器或者计算机110上的其他客户端应用来绘制的其他可编程语言的指令。在这些实施方式中,可以通过网页提供的、或者先前提供给计算机110的配置指令来动态地启用对软件工具的访问。
在一个示例性实施方式中,由零售设施销售的软件产品包括与三种软件产品类型(诸如,客户、高级以及专业)相关联的模块和/或特征,其中每个包括五组软件特征。基于用户选择,可以将软件产品配置为给定用户需要。例如,配置指令可以选择软件产品类型之一以及五组软件特征的四个不同设置之一。
在某些实施方式中,计算机系统100包括较少或者其他的组件。此外,可以将两个或者多个组件结合为单一组件,和/或可以改变一个或者多个组件的位置。
现在讨论用于提供对软件产品的访问的方法。更具体地,图2给出了示出用于提供对软件产品的至少部分的访问的方法200的实施方式的流程图,其可以在计算机系统上实现,例如图1中所示的计算机系统100。在操作期间,此系统从第一位置接收购买信息(210),其中所述购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中由软件产品中的第一模块子集来提供已购买软件特征。接着,系统从第二位置接收访问请求(212),从所述第二位置处可以访问软件产品,其中所述访问请求包括在用户购买对已购买软件特征的访问时提供给该用户的标识符。然后,系统向第二位置提供配置指令(214),其中配置指令动态地启用第一模块子集。
在某些实施方式中,系统可选地从用户处接收购买请求和支付(216),其中购买请求包括与附加购买的软件特征相关联的信息,并且其中,附加购买软件特征与软件产品中的第二模块子集相关联。接着,系统可选地向第二位置提供附加配置指令(218),其中附加配置指令动态地启用第二模块子集。
注意,在方法200的某些实施方式中:可以存在附加的或者更少操作;可以改变操作的顺序;以及可以将两个或者多个操作结合为单一操作。
现在描述用于实现这些技术的计算机系统。图3给出了示出计算机系统300的实施方式的框图。计算机系统300包括:一个或者多个处理器310、通信接口312、用户接口314、以及将这些组件耦合在一起的一个或者多个信号线322。注意,一个或者多个处理单元310可以支持并行处理和/或多线程操作,通信接口312可以具有持久通信连接,并且一个或者多个信号线322可以构成通信总线。此外,用户接口314可以包括:显示器316、键盘318和/或指示器320(例如,鼠标)。
计算机系统300中的存储器324可以包括易失性存储器和/或非易失性存储器。更具体地,存储器324可以包括:ROM、RAM、EPROM、EEPROM、FLASH、一个或者多个智能卡、一个或者多个磁盘存储设备、和/或一个或者多个光存储设备。存储器324可以存储操作系统326,所述操作系统326包括处理用于执行依赖硬件的任务的各种基础系统服务的过程(或者一组指令)。尽管在计算机系统100中未示出,在某些实施方式中的存储器324包括浏览器。存储器324还可以在通信模块328中存储通信过程(或者一组指令)。这些通信过程可以用于与一个或者多个计算机和/或服务器(包括关于计算机系统300位于远程的计算机和/或服务器)进行通信。
存储器324可以包括多个程序模块(或者一组指令),包括配置模块330(或者一组指令)和/或加密模块350(或者一组指令)。响应于一个或多个访问请求336,配置模块330可以使用购买信息332(例如,与商业设施A 334-1和/或商业设施B 334-2相关联的信息)来提供配置指令344。此外,在某些实施方式中,随同一个或者多个访问请求336提供一个或者多个用户标识符348和/或支付信息346。这些配置指令344至少可以动态地启用软件产品340中的模块子集和/或软件特征子集(例如,模块A 342-1和/或模块B 342-2)。
在某些实施方式中,配置指令344包括与加密模块350相关联的一个或者多个解密密钥。例如,加密模块350可以加密软件产品340,并且解密密钥可以用以解密一个或者多个模块342。
此外,在某些实施方式中,配置模块330被用以使用可选同步信息338来例行地或者周期性地同步软件产品340中已启用的模块和/或已启用的特征。
可以通过高级程序语言、面向对象编程语言和/或通过汇编或机器语言来实现存储器324中的各种模块中的指令。可以对编程语言进行编译或者解释,也即,编程语言是可配置的或者被配置为由一个或者多个处理单元310来执行。
尽管计算机系统300示出为具有多个离散的组件,但图3旨在提供对可以存在于计算机系统300中的各种特征的功能性描述,而不是提供在此描述的实施方式的结构性示意。在实践中,如本领域普通技术人员所认识的,利用执行特定功能子集的各种计算机组或者服务器组,计算机系统300的功能可以在大量服务器或者计算机之间分布。在某些实施方式中,可以通过一个或者多个ASIC和/或一个或者多个数字信号处理器DSP来实现计算机系统300的某些或者全部功能。
计算机系统300可以包括较少组件或者附加组件。此外,可以将两个或更多组件结合成为单一组件,和/或可以改变一个或者多个组件的位置。在某些实施方式中,如现有技术中已知的,可以通过较多硬件且较少软件的方式或者较少硬件且较多软件的方式来实现计算机系统300的功能。
现在描述可以在计算机系统100(图1)和/或300(图3)中使用的数据结构。图4给出了示出数据结构400的实施方式的框图。此数据结构可以包括购买信息410。给定的购买信息410(例如,购买信息410-1)可以包括:时间戳412-1、用户414-1、一个或者多个软件产品416-1、一个或者多个软件特征418-1和/或一个或者多个商业设施420-1。
图5给出了示出数据结构500的实施方式的框图。此数据结构可以包括与软件产品510相关联的信息。给定软件产品的信息(例如,软件产品510-1)可以包括:时间戳512-1、一个或者多个软件特征514-1、一个或者多个模块516-1、和/或已编译代码518-1。
注意,在数据结构400(图4)和/或500的某些实施方式中,可以存在较少或者附加的组成部分。此外,可以将两个或者更多成分结合成为单一组成部分,和/或改变一个或者多个组成部分的位置。
已经给出的对本发明实施方式的上述描述仅仅是出于说明和描述的目的。所述实施方式并非旨在详尽或者将本发明限制于所公开的形式。由此,对本领域普通技术人员来说,各种修改和变型是易见的。另外,上述公开并非旨在限制本发明。本发明的范围由所附权利要求书限定。

Claims (20)

1.一种用于提供对软件产品的至少部分的访问的方法,包括:
从第一位置接收购买信息,其中所述购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中由所述软件产品中的第一模块子集来提供所述已购买软件特征;
从第二位置接收访问请求,可以从所述第二位置访问所述软件产品,其中,所述访问请求包括在所述用户购买对已购买软件特征的访问时提供给所述用户的标识符;以及
向所述第二位置提供配置指令,其中所述配置指令动态地启用所述第一模块子集。
2.根据权利要求1所述的方法,其中,所述配置指令包括解密密钥。
3.根据权利要求2所述的方法,其中,所述解密密钥包括公钥,所述公钥与用以对所述软件产品的至少另一部分加密所使用的私钥相关联。
4.根据权利要求1所述的方法,其中,动态地启用所述第一模块子集允许用户使用所述已购买的软件特征,而不必重新安装所述软件产品的部分。
5.根据权利要求1所述的方法,其中,动态地启用所述第一模块子集允许用户使用所述已购买的软件特征,而不必重启安装了所述软件产品的计算机。
6.根据权利要求1所述的方法,其中,动态地启用所述第一模块子集允许用户使用所述已购买的软件特征,而不必安装所述软件产品的部分。
7.根据权利要求1所述的方法,其中,动态地启用所述第一模块子集允许用户使用所述已购买的软件特征,而不必下载附加模块。
8.根据权利要求1所述的方法,其中,在计算机上执行所述软件产品的同时动态地启用所述第一模块子集。
9.根据权利要求1所述的方法,其中,所述配置指令促进所述用户“依菜单定制”地从在所述软件产品中经过测试和编译的模块中选择所述已购买的软件特征。
10.根据权利要求1所述的方法,其中,所述第一位置是物理零售设施。
11.根据权利要求1所述的方法,其中,所述第一位置是在线零售设施。
12.根据权利要求1所述的方法,其中,所述第一位置不同于所述第二位置。
13.根据权利要求1所述的方法,其中,经由网络来由服务器向所述第二位置提供所述配置指令。
14.根据权利要求1所述的方法,其中,在一段时间间隔之后,重复接收所述访问请求和提供所述配置指令的操作,由此允许对所述软件产品中已启用的当前软件特征的同步。
15.根据权利要求1所述的方法,进一步包括:
从所述用户处接收购买请求以及支付,其中,所述购买请求包括与附加购买的软件特征相关联的信息,其中,所述附加购买的软件特征与所述软件产品中的第二模块子集相关联;以及
向所述第二位置提供附加配置指令,其中,所述附加配置指令动态地启用所述第二模块子集。
16.根据权利要求15所述的方法,其中,所述附加购买的特征不同于所述已购买特征。
17.根据权利要求15所述的方法,其中,所述附加购买的特征与所述已购买特征至少部分地重叠。
18.根据权利要求15所述的方法,其中,所述支付是基于所述附加购买的软件特征。
19.一种与计算机系统结合使用的计算机程序产品,所述计算机程序产品包括计算机可读存储介质以及嵌入其中的、用于提供对软件产品的至少部分的访问的计算机程序机制,所述计算机程序机制包括:
用于从第一位置接收购买信息的指令,其中,所述购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中,所述已购买的软件特征与所述软件产品中的第一模块子集相关联;
用于从第二位置接收访问请求的指令,可以从所述第二位置访问所述软件产品,其中,所述访问请求包括在所述用户购买对已购买软件特征的访问时提供给所述用户的标识符;以及
用于向所述第二位置提供配置指令的指令,其中所述配置指令动态地启用所述第一模块子集。
20.一种用于提供对软件产品的至少部分的访问的计算机系统,包括:
处理器;
存储器;
程序模块,其中所述程序模块存储在所述存储器中,并被配置为由所述处理器来执行,所述程序模块包括:
用于从第一位置接收购买信息的指令,其中,所述购买信息包括关于用户购买了对其的访问的已购买软件特征的信息,并且其中,所述已购买的软件特征与所述软件产品中的第一模块子集相关联;
用于从第二位置接收访问请求的指令,可以从所述第二位置访问所述软件产品,其中,所述访问请求包括在所述用户购买对已购买软件特征的访问时提供给所述用户的标识符;以及
用于向所述第二位置提供配置指令的指令,其中,所述配置指令动态地启用所述第一模块子集。
CN200810144045.0A 2007-07-27 2008-07-25 促进软件产品动态配置 Active CN101359392B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/829,430 2007-07-27
US11/829,430 US20080270310A1 (en) 2006-06-27 2007-07-27 Facilitating dynamic configuration of software products

Publications (2)

Publication Number Publication Date
CN101359392A true CN101359392A (zh) 2009-02-04
CN101359392B CN101359392B (zh) 2016-01-20

Family

ID=39737395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810144045.0A Active CN101359392B (zh) 2007-07-27 2008-07-25 促进软件产品动态配置

Country Status (5)

Country Link
US (1) US20080270310A1 (zh)
CN (1) CN101359392B (zh)
AU (1) AU2008203150A1 (zh)
DE (1) DE102008033004A1 (zh)
GB (1) GB2451555A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103632074A (zh) * 2013-12-12 2014-03-12 用友软件股份有限公司 基于基本功能模型的特性化功能部署装置和部署方法
CN104335172A (zh) * 2012-05-31 2015-02-04 索尼电脑娱乐公司 信息处理设备和信息处理系统

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080168131A1 (en) * 2007-01-08 2008-07-10 Microsoft Corporation Platform for defining single-page web signup facilities
FR2948788B1 (fr) * 2009-07-30 2011-09-16 Xaga Network Systeme de gestion d'applications
US9135434B2 (en) * 2010-04-19 2015-09-15 Appcentral, Inc. System and method for third party creation of applications for mobile appliances
US10043167B2 (en) * 2012-07-13 2018-08-07 Ncr Corporation Mobile point-of-sale (POS) techniques
CN112559074A (zh) * 2020-12-18 2021-03-26 昂纳工业技术(深圳)有限公司 一种机器视觉软件的动态配置方法及计算机

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956505A (en) * 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
US5398285A (en) * 1993-12-30 1995-03-14 Motorola, Inc. Method for generating a password using public key cryptography
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US6442559B1 (en) * 1999-06-22 2002-08-27 Microsoft Corporation Dynamic SKU management
US6460140B1 (en) * 1999-12-30 2002-10-01 Starnet Communications Corporation System for controlling the use of licensed software
JP4120125B2 (ja) * 2000-02-01 2008-07-16 富士ゼロックス株式会社 利用許可証発行装置および方法
US20040193545A1 (en) * 2000-10-30 2004-09-30 Gady Shlasky Method and system for digital licensing distribution
US20020091573A1 (en) * 2001-01-05 2002-07-11 Hodes Mark B. Method and apparatus for point of sale activated delivery of products or services
US20020088855A1 (en) * 2001-01-05 2002-07-11 Hodes Mark B. Point of sale activation for software and metered accounts
US7174568B2 (en) * 2001-01-31 2007-02-06 Sony Computer Entertainment America Inc. Method and system for securely distributing computer software products
EP1464028A4 (en) * 2002-01-08 2005-05-18 Riverborne Communications Llc SALES POINT ACTIVATION AND SUBSEQUENT REGISTRATION OF PRODUCTS
WO2004019182A2 (en) * 2002-08-24 2004-03-04 Ingrian Networks, Inc. Selective feature activation
US7966520B2 (en) * 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US7681245B2 (en) * 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
WO2004044770A1 (en) * 2002-11-06 2004-05-27 Digital Interactive Entertainment, L.L.C. Activation and personalization of downloadable content
CA2415334C (en) * 2002-12-31 2012-04-24 Protexis Inc. System for persistently encrypting critical software data to control operation of an executable software program
TW200508926A (en) * 2003-08-27 2005-03-01 Hon Hai Prec Ind Co Ltd Sales reconciling system and method
US20060004668A1 (en) * 2004-07-01 2006-01-05 Hamnen Jan H Method of distributing electronic license keys
US7849329B2 (en) * 2004-09-01 2010-12-07 Microsoft Corporation Licensing the use of a particular feature of software
US7725721B2 (en) * 2004-11-18 2010-05-25 Cisco Technology, Inc. Method and system for transferring software and hardware feature licenses between devices
US8126814B2 (en) * 2004-11-18 2012-02-28 Cisco Technology, Inc. Method and system for installing software and hardware feature licenses on devices
US7055740B1 (en) * 2004-12-06 2006-06-06 Target Brands, Inc. Stored-value card adapted to be read by an electronic device
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US20060217996A1 (en) * 2005-03-23 2006-09-28 E2Interactive, Inc. D/B/A E2Interactive, Inc. Point-of-sale activation of media device account
US20060213979A1 (en) * 2005-03-25 2006-09-28 Bluko Information Group Method and system of detecting fraud and incremental commitment of value
US20060213980A1 (en) * 2005-03-25 2006-09-28 Bluko Information Group Method and system of detecting cash deposits and attributing value
US20060213978A1 (en) * 2005-03-25 2006-09-28 Bluko Information Group Method and system of advancing value from credit card account for use with stored value account
US20060259189A1 (en) * 2005-05-12 2006-11-16 Cruz Bay Solutions, Inc. Method and apparatus for printing a gift card
US20070028233A1 (en) * 2005-07-29 2007-02-01 Miller David D Traffic control software lock and method
US20070043677A1 (en) * 2005-08-17 2007-02-22 Idt Corporation Point of sale product authorization
CN1988469A (zh) * 2005-12-22 2007-06-27 华为技术有限公司 自动管理软件的方法和系统
US9471756B2 (en) * 2006-06-27 2016-10-18 Intuit Inc. Method and apparatus for authorizing a software product to be used on a computer system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104335172A (zh) * 2012-05-31 2015-02-04 索尼电脑娱乐公司 信息处理设备和信息处理系统
US9814984B2 (en) 2012-05-31 2017-11-14 Sony Interactive Entertainment Inc. Information processing system for enabling information processing devices to execute applications in affiliation
CN104335172B (zh) * 2012-05-31 2018-10-19 索尼电脑娱乐公司 信息处理设备和信息处理系统
CN103632074A (zh) * 2013-12-12 2014-03-12 用友软件股份有限公司 基于基本功能模型的特性化功能部署装置和部署方法

Also Published As

Publication number Publication date
GB2451555A (en) 2009-02-04
AU2008203150A1 (en) 2009-02-12
CN101359392B (zh) 2016-01-20
GB0813340D0 (en) 2008-08-27
US20080270310A1 (en) 2008-10-30
DE102008033004A1 (de) 2009-02-12

Similar Documents

Publication Publication Date Title
US11720918B2 (en) Navigable content units for displaying on an electronic document
Chod et al. Platform tokenization: Financing, governance, and moral hazard
US11830041B2 (en) System and methods for generating dynamic market pricing for use in real-time auctions
Xu et al. Strategic supply chain structure design for a proprietary component manufacturer
US8626594B2 (en) Ecommerce-enabled advertising
CN101359392B (zh) 促进软件产品动态配置
Popp et al. Profit from software ecosystems: Business models, ecosystems and partnerships in the software industry
Bontis et al. The evolution of software pricing: from box licenses to application service provider models
US10614490B2 (en) Integrated architecture for performing online advertising allocation
US20080092107A1 (en) Software Development and Sales Life-Cycle Services
CA2670625A1 (en) System and methods for distributing sales of advertisement slots
US20070260516A1 (en) Method and system for billing for online advertisement delivery services
US20020103660A1 (en) Generic transaction server
US20070255576A1 (en) Service providing an electronic market for the distribution of promotional material using software installation packages
KR20110130403A (ko) 온라인 광고를 위한 차별 구매 채널
US20070112625A1 (en) System and method for displaying advertisement using flash memory storage devices
US20130254024A1 (en) Systems and Methods for Cross-Platform Software Bundling
CN101652795A (zh) 按点击付费广告的优化
CN110852779A (zh) 一种基于格子铺的商品体验式销售方法、装置、设备及系统
Jia et al. To EVM or not to EVM: Blockchain compatibility and network effects
Collins How to select the right accounting software
KR101261628B1 (ko) 소액투자자 보호를 위한 주식, 선물, 옵션의 전략적 자동매매 방법 및 시스템
WO2008066352A1 (en) Affiliate marketing service system and service method
CN110431583A (zh) 网上购物商城管理方法
US20120296728A1 (en) Digital Media Content Delivery System

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant