[发明专利]用于标识随遵循设备分发的硬件和软件许可证的数据结构无效
申请号: | 200680021798.1 | 申请日: | 2006-06-21 |
公开(公告)号: | CN101627364A | 公开(公告)日: | 2010-01-13 |
发明(设计)人: | Y·刘;C·格恩亚克蒂;A·J·瑞茨;T·豪格恩;S·亚芭拉;D·R·汤姆森;M·K·塞万卡瑞克;J·D·克莱斯伯格;J·P·H·奥尔森;A·E·内曼 | 申请(专利权)人: | 微软公司 |
主分类号: | G06F9/00 | 分类号: | G06F9/00;H04K1/00 |
代理公司: | 上海专利商标事务所有限公司 | 代理人: | 陈 斌 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 标识 遵循 设备 分发 硬件 软件 许可证 数据结构 | ||
技术领域
本发明一般涉及计算机硬件和软件分发领域,尤其涉及标识软件是否可被分发和加载到特定硬件设备上的数据结构。
背景技术
按照惯例,对软件进行许可来用于每个设备。然而,存在有限的方法来强制被许可方的义务,这导致软件被安装在多个未经许可的机器上。基于拆封许可(shrink wrap license)改进的数字许可证被用于将一件软件限制到一件特定硬件,其中该数字许可证包含软件和硬件信息。
数字许可证的一个问题是每年超过100百万的个人计算机通过OEM(原始设备制造商)运送给最终用户。要求每一个最终用户获取对软件副本和对特定机器的数字许可证是不现实的。针对此问题的部分解决方案被用在预先加载了MICROSOFT WINDOWS XP的新计算机中。通过称为“预安装系统的激活保护措施(System Locked Pre-installation)”或SLP的机制,为OEM提供了预激活(pre-activate)WINDOWS XP的能力。
SLP使用存储在OEM的个人计算机BIOS中的信息来使其安装免受非预期盗版(casual piracy)。不要求最终用户与MICROSOFT的通信,且不创建或无需硬件散列(hash)。在引导时,WINDOWS XP将PC的BIOS与SLP信息作比较。如果其匹配,则无需激活。因而,可改变具有SLP的PC上的每个单件硬件,并且无需再激活。然而,此方法的局限在于,BIOS中的OEM信息可简单地通过将其闪存到BIOS来实现写入。因而,可将其写入未授权机器的BIOS以使该未授权机器表现为授权机器。
因而,期望包含与由制造商预加载的软件和硬件相关的信息的数字许可证,以及该数字许可证在整个系统生存周期-诸如硬盘驱动器损坏或基于图像的安装-中存在。还期望不易于向未授权PC伪造数字许可证信息。本发明提供了针对这些以及其它问题的解决方案。
发明概述
本发明为软件许可实施扩展了ACPI BIOS的用途。ACPI是高级配置与电源接口的首字母缩写词。提供了包括与可在其上运行软件的计算设备上的软件和硬件相关的信息的数字许可证。许可进程从最终用户接收硬件和软件信息,并将许可证绑定到两者。根据本发明,主BIOS二进制(binary)(在ROM或其等效物中)包括代码和静态主板专用数据。包含比如序列号的机器专用系统管理数据的动态值可随后存储在NVRAM或其等效物上。主BIOS二进制允许提供足够的功能来测试硬件。一旦觉察到要加载到系统上的软件,就将包含软件和硬件信息的相应数字许可证加载到NVRAM。
根据以下参照附图的示例性实施例的详细描述,本发明的其它特征和特点将变得显而易见。
附图的简要说明
当结合附图阅读时,将更好地了解以上概述及以下优选实施例的详细描述。为了说明本发明的目的,在附图中示出了本发明的示例性结构;然而,本发明并非旨在限于所公开的特定方法和手段。在附图中:
图1是示出了其中可实现本发明的各个方面的示例性计算环境的框图;
图2是根据本发明的示例性ACPI BIOS表;
图3是图2中所示的软件许可结构。
优选实施例的详细描述
示例性的计算环境
图1示出可在其上可实现本发明的合适计算系统环境100的示例。计算系统环境100仅仅是合适计算环境的一个示例,而非旨在对本发明的使用范围或功能提出任何限制。计算环境100不应被解释为对在示例性计算系统环境100中描述的组件中任何一个或其组合具有任何依赖或要求。
本发明可与许多其它通用或专用计算系统环境或配置一起运行。适用于本发明的公知计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持型或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括以上系统或设备中任一个的分布式计算环境等。
本发明可在由计算机执行的诸如程序模块的计算机可执行指令的通用上下文中描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本发明还可在其中任务由通过通信网络或其它数据传输介质链接的远程处理设备执行的分布式计算环境中实践。在分布式计算环境中,程序模块位于包括存储器存储设备的本地和远程计算机存储介质中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软公司,未经微软公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200680021798.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:新型儿科体检床
- 下一篇:防治宫颈糜烂宫颈帽的夹持器