在计算设备上永久保持定制数据的制作方法

文档序号:6570211阅读:125来源:国知局
专利名称:在计算设备上永久保持定制数据的制作方法
技术领域
所公开的实施例 一般而言涉及计算设备上的数据管理的领域。更特 别地,所公开的实施例涉及在计算设备上永久保持定制数据。
背景
目前,很多类型的计算设备都被制造成具有特定的默认或出厂设置 状态。通常,如果设备需要修理或者以别的方式经历复位或其他发生数 据丢失的事件,那么可以恢复默认或出厂状态。从默认状态操作计算设 备至少会复原操作系统,以使该计算设备是可操作的。在许多情况下, 计算设备的默认状态带有应用和/或数据,这些应用和/或数据在该设备
的使用或销售之前^:加载到该设备上。
有时候,在数据丢失事件之后,作为设备工作状态的一部分而被存 储在计算设备上的应用和数据是定制的。这种定制的最常见实例是蜂窝 电话。通常,蜂窝电话是通过无线运营商和供应商出售的,这些运营商
和供应商使用软品牌(soft branding)和专用数据来使任何通用硬件设备 符合运营商专用的硬件设备。
然而,为计算设备定制其硬复位状态是一个昂贵且麻烦的过程。这 种定制通常需要设备制造商"破解ROM",这意味着设备制造商必须 访问操作系统所在的永久存储器的一部分。这部分存储器通常是密封 的。 一旦这样做,就需要向设备的操作系统以及可能的其他标准或协议 重新i人证该设备。
为了避免在重新认证计算设备时所涉及的费用和劳动,目前一种替 换方法是能够在使得设备可操作之后进行设备定制。但是,希望定制存 在的一方(例如无线运营商)会丧失对定制的控制。例如,最终用户可 能决定不执行导致定制的步骤,或者开发出针对定制的变通方法。为了 提供更具体的实例,诸如组合式电话/消息传送设备之类的便携计算设备 可以与更大的计算才几系统同步。定制可以在初始同步时祐^l^亍。然而, 最终用户可能总是决定不同步该设备,或者配置同步过程以使定制不会 发生。
此外,在蜂窝电话设备的情况下,硬复位在任何特定设备的一生中 并不罕见。在使用了给定设备之后, 一旦将其硬复位,那么在工作状态 中对该设备提供的定制数据可能会丟失。
附图简述


图1是在实施例中存储器组件的简化框图。
图2 A和图2 B分别说明根据本发明实施例的处于硬复位状态和处于 工作状态的存储器组件的配置。
图3A-图3C说明在本发明实施例中供计算设备使用的存储器架构。
图4说明在本发明 一个实施例中可以永久地加载和4吏用定制数据的方法。
图5说明根据本发明的一个或多个实施例的用于实施例如图4所示 的实施例的系统。
图6说明可以选择、规定以及甚至创建在定制空白(未定制的)设 备的过程中使用的定制数据的系统。
图7说明在本发明实施例中能够设计和创建定制数据集的图形用户 界面工具。
图8说明供本发明的一个或多个实施例使用的简化框图。
i羊细:t笛述
本发明的实施例使计算设备能够永久保持独立于其操作系统的定 制数据。根据一个实施例,定制数据与操作系统一起^L存储在计算设备 的ROM (或等效的存储器组件)中,但是该定制数据独立于操作系统。 当首次初始化计算设备时,或者当在硬复位事件之后立即初始化计算设 备时,该定制数据不会丟失。
另外, 一个实施例规定,为定制数据所保留的存储器量部分地基于 定制数据的大小。因此,即使定制数据是在独立于操作系统的情况下被 提供的,也可以在为定制数据保留存储器的同时避开未使用的存储器。
正如将要描述的,这些实施例使得在制造设备时定制数据能够以与 操作系统分离的方式被加载,或者利用逻辑和软件而以别的方式被提 供。在制造过程期间,定制可以针对特定类别的设备来进行,而无需"破
解ROM"或者以别的方式访问操作系统。这使得设备的类别能够被定 制而无需ROM和/或操作系统的重新认证。由于ROM和操作系统的重 新认证可被避免,因此定制数据可以以成本效益合算得多的方式来实 施,而同时还减少定制所要出售的计算设备的类别的时间量。另外,定 制还可以针对相对较小类别的计算设备来进行,而以别的方式进行这种 处理将是成本效益不合算的。
根据另一实施例,计算设备可以从硬复位状态来定制。 一旦从硬复 位状态初始化计算设备,就确定永久存储器中要被格式化的部分的大 小。该大小可以基于被存储在包含了将要格式化的部分的永久存储器区 域中的定制数据的数量。这个永久存储器区域独立于存储操作系统的另 一永久存储器区域。第二存储器部分是在不影响定制数据的情况下;f各式 化的。
在 一 个实施例中,在存储操作系统的永久存储器区域中可以存储 值。该值可以基于定制数据的大小。所述值可以被用来确定将要格式化 的存储器部分的大小。根据另一实施例,用于计算设备的组件包括永久 存储器。该永久存储器被配置成在计算设备处于硬复位状态时存储和保 持数据。在一个实施例中,在硬复位状态中,存储在永久存储器中的数 据对应于操作系统和定制数据。根据一个实施例,第一逻辑描绘 (delineate)永久存储器中存储了操作系统的第一区域,该区域与存储 器中存储定制数据的第二区域是分离的。因此,从第二区域中可检索定 制数据,而不用从第一区域中检索数据。还可以提供第二逻辑,该第二 逻辑保留了存储定制数据的第二区域的位置。该位置可以基于定制数据 的大小。这样, 一个或多个实施例规定,第一和第二逻辑提供了存储器 配置模块。
根据另 一 实施例,第二逻辑还可以指示处于第 一 区域之外的定制数 据的位置。当从硬复位状态初始化包含存储器组件的计算设备时,第二 区域中不包含定制数据的至少 一部分能够被格式化。
在存储器的上下文中的表达"永久"(例如"永久地存储"或"永 久存储器")打算是指这样的存储器,如果数据没有被处理器操作执行 的操作擦除,则只要该存储器没有受损,该存储器就可以提供其所存储 的数据。例如,永久存储器能够在没电时保持数据。
术语"定制数据"指的是这样的任何数据,其中当在一个或多个设
备组成的集合上实施该数据时,与其他设备相同的这组设备因该定制数 据而与其他设备区分开来。
这里使用的术语"硬复位状态"指的是这样一种状态,在该状态中, 除了制造商/供应商提供的数据(例如"出厂设置"或"预置设置")或 者以别的方式通过这里描述的 一个或多个实施例提供的数据之外,在计 算设备上不保持数据。硬复位状态的 一个实例是开箱即用设备在其首次 使用之前的状态。硬复位状态的另一实例是将设备返回到其"出厂设置" 的某个操作或操作序列之后的状态。在 一些计算设备例如新近的个人数
字助理(PDA)中提供了一种硬复位协议,该协议可以由用户使用以便
将设备恢复到出厂设置,为的是检修故障或者重新销售该设备。 术语"逻辑"可以指数据或者可由处理器作为指令而执行的数据。
实际上,术语"第一逻辑"和"第二逻辑,,可以是相同的代码、指令乃
至数据值的一部分,尽管它们也可以是分离的。
在这里描述的 一 个或多个实施例规定,由计算设备所执行的方法、
技术和动作是以编程的方式或者作为计算机实施的方法来执行的。"以
编程的方式"指的是通过使用代码或计算机可执行指令。以编程的方式
执行的步骤既可以是自动的,也可以不是自动的。
这里描述的一个或多个实施例可以通过使用模块来实施。模块可以
包括程序、子例程、程序的一部分、或者能够执行一个或多个所述任务
或功能的软件组件或硬件组件。这里使用的模块既可以独立于其他模块
而在硬件组件上存在,也可以是其他模块、程序或机器的共享元件或过程。
此外,这里描述的一个或多个实施例可以通过使用可由一个或多个 处理器执行的指令来实施。这些指令可以在计算机可读介质上被携带。 以下的图中所示的机器提供了关于处理资源以及可以携带和/或执行用 于实施本发明实施例的指令的计算机可读介质的实例。特别地,与本发 明实施例一起所示的众多机器包括一个(多个)处理器以及用于保持数 据和指令的各种形式的存储器。计算机可读介质的实例包括永久记忆存
储设备,例如个人计算机或服务器上的硬盘驱动器。计算机存储介质的
其他实例包括便携存储单元,例如CD或DVD单元、闪速存储器(例 如在许多蜂窝电话和个人数字助理(PDA)上携带的闪速存储器)、以 及磁存储器。计算机、终端、具有网络功能的设备(例如诸如蜂窝电话
之类的移动设备)都是使用了处理器、存储器以及存储在计算机可读介 质上的指令的机器和设备的实例。
图1是在一个实施例中存储器组件的简化框图。存储器组件100可
以是为了与其他存储器组件(在图1中未示出)一起使用而被提供的。
该存储器组件IOO永久地保持在从硬复位状态初始化计算设备时对计算 设备的操作而言关键的数据。在一个实施方式中,存储器组件100是
"ROM"组件,其保持对计算设备的操作而言关键的数据,其中包括操 作系统110或BIOS数据(未示出)。作为操作系统的一部分或者除了 操作系统之外,与操作系统封装在一起或者以别的方式包含在一起的一 个或多个应用可以被包含在操作系统100的相同分区或区域内部。例如, 用于特定操作系统的核心应用可以被包含在操作系统的分区内部。作为 具体实例,PALM OS (由ACCESS INC制造)包含作为核心应用的某些 个人信息管理应用,例如联系人应用。当操作系统110驻留于存储器组 件100中时,操作系统110可以处于包装(wrapped)状态。设想与一 个或多个实施例 一起使用的特定类型的永久存储器组件是闪速存储器 组件,其能够将数据以块而不是字节的形式写入组件。通常,闪速存储 器是在小的或薄的计算设备(例如蜂窝电话设备和消息传送设备)中使 用的。具有持久性并且通常用于保持操作系统的特定类型的闪速存储器 是NAND闪速存储器组件。
在例如图1所示的实施例中,存储器组件100中的分区120将提供 操作系统110的第一区域122与第二区域124分离。 一定范围的存储器 地址可以与存储器组件110的第一区域122和第二区域124中的每一个 相关联。分区120本质上可能是逻辑的,因为该分区是通过由计算设备 上的处理资源(未示出)执行的低级代码而形成和保持的。在一个实施 方式中,存储器组件100是存储器架构的一部分,其中第二区域124提 供用于存储来自易失存储器组件(例如设备RAM)的应用和应用数据 的存储器。例如,当计算设备处于工作状态时,在该设备上运行的应用 和应用数据被存储在RAM的一部分中,然后^皮备份成在闪速存储器组 件中未使用的部分上所建立的文件格式。如果执行软件复位(有时称为
"软复位"),那么闪速存储器组件不受影响,并且可以使用备份的数 据来恢复RAM组件。
根据一个实施例,定制数据130被提供给存储器组件100。该定制
数据130是利用软件和/或数据来配置特定计算设备、以便将该设备定制 为属于某个类别、群组乃至个体的数据。在一种实施方式中,计算设备
130是诸如蜂窝电话设备之类的移动计算设备,并且定制数据130使这
种移动计算设备(例如"电话")符合特定运营商的设备类别,其中该 运营商将提供这些电话来进行销售和使用。例如,制造商可以制造都具 有特定的硬件和软件设计(包括操作系统)的大量设备,并且定制数据
130可以对一部分设备进行定制,以使其具有看起来觉得是专为某个无 线运营商而产生的功能、数据和/或软件。在这种情况下,定制数据130 使设备符合由为特定运营商制造的设备所组成的类别。用于无线运营商 的定制数据130的更具体的实例包括(i)利用设备来标记蜂窝运营商 的软品牌的图像,(ii)用于运营商的默认应用(例如无线运营商商店 定位器),(iii)用于联系供应商/无线运营商的联系人记录集合,(iv) 默认书签集合,(v)壁纸图像,(vi)默认振铃音,以及(vii)允许设 备从用户帐户中检索电子邮件消息的默认电子邮件设置。
在一个实施例中,定制数据130是在第二区域124中提供的,从而 定制数据130独立于在存储器组件中提供操作系统110的第 一 区域122。 同样,定制数据130可以独立于操作系统110 (以及存储在其中的其他 应用(例如核心应用)和数据)的存在而被存储在存储器组件100中。 特别地,定制数据130可以是在操作系统ll(H皮加载、分区和密封之后 存储的。因此,如果操作系统IIO被认证,则添加定制数据130或者对 其的后续修改不需要重新打开操作系统或者使操作系统进行另一认证。 例如,计算设备可以是在密封和认证了操作系统IIO的情况下制造的, 然后,在后续制造步骤中为其提供定制数据,以使厂商或感兴趣方能够 销售和/或使用该计算设备。另举一例,所制造的设备或者用户使用中的 设备可以关于定制数据130被更新,而不需要改变操作系统110或者访 问存储器中保持操作系统的区域。例如,当移动电话设备到其产品寿命 周期的末尾时,通过改写或更新现有定制数据130,可以重新定制已经 为特定运营商定制的现有设备,从而这些设备可以由需要较旧设备的另 一运营商来销售。更进一步,当复原设备时,这些设备还可以被重新定 制(通过更新或改写定制数据130)以便充当用于不同运营商的翻新设 备。这些功能中的任何一种都可以在制造级以快速和成本效益合算的方 式完成,而不需要"破解ROM"或者重新认证操作系统110。此外,软
件工具或程序可以使除制造商之外的实体能够利用定制数据来配置设 备类别中的设备。在一个实施例中,经销商或翻新商可以使用软件工具 来加载定制数据130。在另一实施例中,用户可以通过将文件下载到将 要定制的设备上(或者到与将要定制的设备同步的计算机上),然后输 入定制数据并使定制数据作用于该设备,从而加载定制数据。
在一个实施方式中,存储器组件IOO可以与通常供更复杂的蜂窝电 话设备使用的NAND闪速存储器模块相对应。操作系统110的一个实例 是PALM OS或者由MICROSOFT CORP制造的WINDOWS MOBILE。 存储器组件100可以在计算设备上仅仅形成整个存储器架构的一部分。 根据一个设备实施方式,易失存储器被用作RAM并且执行操作系统110 的展开版本。在从硬复位状态初始化时,存储器组件100的第二区域124 被格式化,以便备份RAM,并且提供目录或其他存储器文件格式。该 第二区域124可以具有第一区域122之外的任何存储器地址范围。对第 二区域124进行结构化的过程删除了处于正被格式化的部分中的任何现 有数据。定制数据130位于第二区域124中,从而当进行结构化时,第 二区域中携带了定制数据的部分不受影响。这样,定制数据130从硬复 位状态起保持不变。
图2A和图2B分别说明根据本发明实施例的处于硬复位状态和处于 工作状态的存储器组件的配置。在图2A和图2B中,存储器组件200 可以对应于闪速存储器组件(例如NAND闪存),该存储器组件保持了 其所在的计算设备的操作系统210。该存储器组件200可以是例如蜂窝 电话/消息传送设备中的整个存储器架构的一部分。
图2A说明在计算设备处于硬复位状态时存储器组件200的配置。 该硬复位状态可以对应于一种从未使用计算设备和存储器组件200的状 态,或者可选择地,它可以对应于计算设备和存储器组件刚刚在硬复位 事件之后的状态,在该状态中,在计算设备投入使用之后添加到该设备 中的任何数据都被擦除。该存储器组件200被分为第一区域222 (对应 于笫一存储器地址范围)和第二区域224(对应于第二存储器地址范围)。 第一区域222包含与操作系统210和令牌212相对应的数据。第二区域 224包括定制数据230。正如将要解释的,令牌212可以包括或者对应 于一个能对在第二区域224中提供定制数据230的存储器部分的地址范 围进行识别的值。
在一个实施例中,将定制数据230写入具有至少一个已知地址的地 址范围中。该已知地址充当用于定位除存储器组件200的第二区域224 的剩余部分之外的定制数据230的参考点。在一种简单情况下,例如其 中存储器组件200只有一个分区,这个将被提供定制数据230的地址范 围可以包括存储器组件220的逻辑结尾246。存储器组件220的逻辑结 尾246是提供最后一个存储器地址范围的位置,并且它可以形成在地址 范围中写下定制数据的参考点。在硬复位状态中,第二区域224中不保 持定制数据130的部分未被格式化。因此,在存储器组件230的底部的 地址范围235提供用于定制数据230的参考点,并且这个地址范围处于 第二区域224中,以便独立于操作系统210所在的第一区域222。 一个 部分236可以与地址范围235相对应,该部分定义定制数据230的位置。 在图2A提供的实施例中,未格式化的部分233是在第二区域224中减 去地址范围235所定义的部分236之后得到的剩余部分。
在一个实施例中,令牌212携带与定制数据230的大小相对应的值。 由于定制数据230是从已知地址写入的(例如存储器组件230的底部或 逻辑结尾246),因此,存储定制数据(部分236)的地址范围235是 已知的。这能够实现在不影响定制数据230的情况下格式化第二区域 224的后续过程。这种后续过程可以在从硬复位状态启动i殳备时^^皮调用。 在所示出的实施例中,第二区域224中将被格式化的部分的大小(即未 格式化部分233或者其实质部分)取决于定制数据230的大小。
根据一个在存储器组件200的底部提供定制数据230的实施例,通 过规定第二区域224中将要格式化的存储器的大小,可以对第二区域 224进行格式化。具体而言,将要重新格式化的存储器大小可以对应于 (i)存储器组件中的存储总量,减去(ii)提供操作系统的第 一 区域222 中的存储器量,以及减去(iii)令牌212的值(即定制数据230的大小) 的差值。在一个实施方式中,通过确定存储器组件中的空闲存储器减去 令牌212所表示的值,可以做出上述判定。这导致地址范围235不受用 于第二区域224的剩余部分的结构化过程的影响。
在图2B中示出当计算设备处于工作状态时的存储器组件200。在 该状态中,设备已被初始化(例如首次开启)。作为初始化过程的一部 分,在由存储器组件200中的第二区域224提供的空闲存储器上安装了 一种格式(例如目录)。在一种实施方式中,存储器组件100的已格式
化部分234提供备份存储空间,以使设备能够在软复位事件之后运行。 格式化部分234的创建和存在并不影响提供定制数据230的部分236。 然后,当设备处于工作状态时,该定制数据230可供应用和/或操作系统使用。
图3A-图3C说明在本发明实施例中供计算设备使用的存储器架 构。根据所示出的实施例,永久存储器组件310和RAM组件320可以 一起协作,以便能够在软复位事件之后保存数据,同时还在从硬复位或 出厂设置状态进行任何初始化时提供定制。
在图3A中,存储器架构处于硬复位状态。永久存储器组件310包 括操作系统312和令牌314。在具有已知参考地址的地址范围(例如存 储器组件的底部)中写入一组定制数据330。如先前所述,令牌314可 以表示定制数据330的大小。在硬复位状态中,永久存储器组件310在 与该组件的剩余部分相隔离的区域中永久地保持操作系统312和令牌 314。定制数据330还被包含在存储器组件310中未格式化的区域中。 RAM组件320是没有数据的。
图3B示出根据本发明实施例在从硬复位状态初始化之后处于工作 状态的存储器架构。在图3B中,永久存储器组件310被改变,因为该 组件中用于操作系统的分区之外的空闲范围被格式化,以便用于某个目 的。在所示的实施方式中,举例来说,永久存4渚器组件310祐j各式化以 便提供用户存储装置(store) 315。 RAM组件320可被格式化,以便除 了其他元件外还包含存4*堆322和动态堆324。存储堆322可以存储应 用325和应用数据326,该应用数据326是半永久性的,这意^^未着在设 备开启或关闭时,该应用数据是存在的。当设备处于工作状态时,应用 325和应用数据326被备份在永久存储器组件310的用户存储装置315 中。
图3C示出在本发明实施例中在软复位事件之后的存储器架构。 RAM组件320的一些或所有数据已被擦除。在软复位之后,用户存储 装置315可以一皮用来恢复应用325和应用数据326。
在图3B和图3C所示的状态中,定制数据330可以包括供操作系统 和/或其他应用使用以定制计算设备的数据、代码、应用和设置。举例来 说,在工作状态中,定制数据330可以包括联系人记录,通过使用联系 人应用来使该联系人记录可用。关于图3C,定制数据330可以包括图
像,当从软复位状态重启设备时,该图像标记该i殳备的品牌。
正如上述实施例所说明的,计算设备的永久存储器可以具有附加逻 辑分区,以便在硬复位状态中保持定制数据。这个分区可以是动态的, 因为它与定制数据的大小相适合。更一般地,所形成的动态分区可以至 少部分地取决于所存在的定制数据量的大小。这与在具有统一大小的分 区中提供定制数据而不考虑所存在的定制数据量的处理形成了对比。在 后 一种情形下,在永久存储器组件中产生更多的未使用存储器。 定制数据的加载 '
为了在计算设备中永久地存储定制数据,需要实施一个可以将定制 数据写入存储器架构的永久存储器元件的过程。存在将定制数据写入永 久存储器的众多技术。
图4说明在本发明实施例中可以永久地加载和使用定制数据的方 法。在步骤410中识别定制数据。在一个实施方式中,定制数据是由不 同于计算设备的制造商的源来规定、设计或创建的,举例来说,例如设 备的经销商或者某一其他第三方。举例来说,用于特定计算设备集合的 定制数据可以采用由第三方(例如运营商)提供的或者通过第三方的输 入而创建的数据文件的形式(参见图7)。
步骤420规定,将定制数据写入永久存储器组件(例如ROM组件 310)的一个区域,该区域独立于操作系统分区。这可以对应于一个未 被操作系统数据使用的地址范围。举个例子,如图2的实施例所示,提 供定制数据的区域可以对应于一个处于永久存储器组件的底部的地址 块、或者具有另一已知参考的地址块。
步骤430规定,在将定制数据写入永久存储器时识别定制数据的大 小。根据一个实施方式,这个步骤是由计算设备和/或操作系统的编程元 件执行的。
在步骤440中,与定制数据的大小相对应的值作为令牌与操作系统 存储在一起。该令牌可以被存储在操作系统的令牌区域中。很多操作系
PALM OS以及为较小计算设备而制造的其他操作系统。
步骤450规定,在对保持操作系统和/或定制数据的永久存储器进行 格式化时,对存储器部分进行格式化的组件判定空闲存储器的大小。该 判定可以包括空闲存储器量减去操作系统的分区以及减去定制数据大步骤460规定,当从硬复位状态启动设备时,对所识别的不包含定 制数据的地址范围的空闲存储器进行格式化。假如在一种实施方式中将 定制数据写入将要格式化的存储器部分的底部,那么结果是定制数据不 受存储器的结构化的影响。在这个步骤中,所有空闲存储器(不包括操 作系统分区)都可以格式化,但这不包括提供定制数据的部分。空闲存 储器量可以取决于定制数据的大小。在一个实施方式中,空闲存储器是 既不在操作系统分区中也没有^^皮用于存储定制数据的所有存储器。该实 施方式的变型也是存在的,例如空闲存储器量松散地依赖于定制数据 量。例如,空闲存储器可以对应于未处于操作系统分区中的所有存储器 减去存储定制数据所需的存储器量的两倍。
图5说明一种用于实施例如图4所示的实施例的系统。在图5中提 供一种用于将定制数据写入永久存储器组件500的系统。举例来说,该 系统可以在使用闪速存储器组件以及瘦操作系统(例如PALM OS)的 移动计算设备上实施。与其他实例一样,可以为运营商或其他第三方或
者代表运营商或其他第三方规定或者以别的方式提供定制数据。
在所示的实施例中,存储器组件500对操作系统510进行分区。当 设备处于硬复位状态(T=HRESET)时,定制数据写入过程或冲莫块516 把定制数据530写入存储器组件500。创建令牌512并且将其与操作系 统510存储在一起,其中该令牌携带定制数据530的大小的值。如其他 实施例进一步描述的那样, 一个实施例规定,定制数据是在与存储器组 件500的底部相对应的地址范围一皮提供的。
当设备从硬复位状态移至工作状态(TOPER)时,存储器设备驱 动器520访问操作系统的分区,以便读取令牌512的值。这个值对应于 定制数据的大小,并且在图5中被称为定制数据大小。存储器设备驱动 器520与存储器安装模块550进行通信。该存储器安装模块550执行包 括格式化存储器组件500在内的各功能。在一个实施例中,存储器安装 模块550将FAT (文件访问表)文件551安装到存储器组件500中未使 用的存储器上。存储器安装模块550所作的格式化的量是由存储器设备 驱动器540提供的FAT文件大小552确定的。该FAT文件大小552的 值考虑到定制数据530的存在。作为初始化过程的一部分,紧接在硬复 位状态之后,存储器安装模块550使用FAT文件大小552来格式化永久
存储器组件500,从而不会影响到定制数据530。
例如图5所示的系统不但可以用来实施定制数据,而且还可以在实 施了定制数据之后更新或改写定制数据。这些活动中的每一个都是在不 需要重新认证操作系统的情况下执行的,但是举例来说,如果将定制数 据写入操作系统分区,那么需要重新认证操作系统。可以设想众多的方 案。例如,在不同类别的定制设备中的众多设备之间可能存在不平衡性。 更具体地说,举个例子,由一个运营商或厂商提供的设备可能比另一厂 商提供的相同设备销售得更慢,从而在定制设备的库存方面产生不平衡 性。根据例如图5所示的实施例,为特定厂商或运营商定制的设备可以 为另一厂商或运营商重新定制,以便移动呆滞的库存。在例如图5所示 的系统中,重新定制可以通过创建定制数据并且使用定制数据写入过程 或模块516来执行,该过程或模块利用新的定制数据来改写现有定制数 据。虽然新的定制数据可能具有不同的大小,但是该数据可以在包含存 储器组件的底部的地址范围处被提供。新的定制数据的大小可以利用令 牌512来记录,然后该令牌使用存储器设备驱动器来传送FAT文件大小 552 (总的存储器减去操作系统分区,再减去新的定制数据的大小)。 这时,先前的定制数据完全被新的定制数据所取代。
还存在可以更新定制数据的众多其他情形。当产品在其寿命周期中 变老时,这里描述的实施例设想了使用定制数据来使设备更吸引人。例 如, 一个或多个实施例设想了由打折厂商来定制处于其产品周期的末尾 的设备,并且定制数据能使该设备更易于从这种厂商那里售出。
作为其他示例使用,可以写入或重新写入定制数据以便提供新颖的 软件设计,例如名流艺术(celebrity art)、收藏版或者收藏品排序,以 便使设备更加独特、可收藏或者在其他方面合乎需要。
通过使定制数据可被更新,可以容易地由生产线上被卸下的产品或 者由退回的产品来解决定制数据中的任何应用或故障修复。定制数据更
定制数据的创建和实施
根据一个实施例,定制数据是由希望从一定生产量的公共设备定制 一种类别、群组或单独的设备的各方的输入来规定的。图6说明可以选 择、规定甚至创建定制数据以便在定制空白(未定制的)设备的过程中 使用的系统。图6中的系统包括实施过程610,该过程可以接收llr入602、
604和606,以便产生相应的定制数据集612、 614和616。这些定制数 据集612、 614和616是用于硬复位的。
在图6提供的实例中,输入602、 604和606可以源自不同的来源 和/或当事方。举个例子,实施过程610可以接收来自设计者的通过例如 网页、数据传输、数据文件或手动输入的定制输入。在一个实施方式中, 所得到的每一个定制数据集612、 614和616都可以采用XML文档和/ 或数据比特的形式,从而表示应用、应用数据、数据比特以及其他文件。
如所述, 一个实施例规定,将硬复位定制数据612、 614和616才各 式化成XML文件、可执行文件以及位图或二进制数据文件。XML数据 可以包括应用数据,这些应用数据用于在计算设备处于工作状态时在 RAM中执行的应用。利用操作系统执行的或者甚至在操作系统外部执
制数据的配置。因此, 一种用于使用定制数据的架构使用了应用拖曳机 制来将定制数据结合到 一个或多个应用的操作中。任何处于比特形式的 定制数据都可以包括应用和图像,其中包括壁纸或软件皮肤。
一旦形成了定制数据集612、 614和616,就可以实施不同的定制数 据集,以便对未定制设备640进行分类。可以假设这些设备是未定制的, 尽管如结合其他实施例所描述的那样,定制数据集可以被用来改写已经 在特定设备上存在的定制数据。此外,每一个定制数据集612、 614和 616都可与一个数量值配对,该数量值指示将要由特定数据集定制的设 备的数量。该数量值可以作为定制输入602、 604和606的一部分而被 包含,或者它也可以从单独的来源确定。然后, 一旦实施定制数据来修 改未定制设备,那么相应的设备变成定制的。特别地,实施定制数据的 结果是未定制设备整体上被定制为各类别的设备,其中每一个类别表示 一个具有特定定制数据集的特定设备。在图6中,举例来说,类别652、 类别654和类別656中的每一个都可以表示来自特定厂商和/或提供了特 定服务的设备。
特别地,对于无线计算设备(例如蜂窝电话或消息传送设备)来说, 每一个设备都可以结合特定无线运营商所提供的无线服务来定制。在这 种情况下,定制数据集612、 614和616可以表示下列各项中的^f壬何一 项标记特定运营商的品牌的壁纸,在设备上默认选择的音频声音信号 和振铃音(也可以是品牌),某个运营商的专用应用(例如用于运营商
的商店定位器),允许用户通过默认配置数据来检索电子邮件的电子邮 件配置数据,默认浏览器,使用万维网浏览器时的默认主页,以及在操 作系统中提供的应用的应用数据(例如用于电话应用的联系人记录)。
根据一个实施例,定制输入602、 604和606可以由第三方i殳计者 来提供。这种设计者可以包括为 一种类别的设备选择定制设计的个人, 或者甚至可以包括希望定制设计他们自己的个人设备的最终用户。图7 说明能够设计和创建定制数据集612、 614和616的图形用户界面工具 700。该工具700可以基于万维网,因为该工具可以通过4吏用万维网浏 览器或者可选择地基于万维网的客户机而被访问和使用。同样,该工具 700可以在客户机终端705上被再现。该工具700允许i殳计者具有(i) 上载特征702,用于允许上载定制数据,例如应用、图像或声音文件, (11)选择工具704,用于允许选择某些数据,例如设置(例如假设设备 将要工作所在的时区),(iii)创建工具706,用于允许创建某些数据, 例如联系人记录。可以通过使用工具700来执行的其他功能包括(i) 设备选择(即用户希望把定制数据结合到什么设备),(ii)定制数据 发生的日期,以及(iii)将要以特定方式定制的设备的数量。还可以使 用各种用户界面特征,例如选择对象(图标和菜单)、文本输入域以及 复选框,以使用户能够做出说明并操作工具700。
虽然利用图6和图7详细描述的实施例设想了特定于类别的定制数 据,但是其他实施例设想了在个人用户希望定制特定设备时使用定制数 据。这种定制数据可以被称为用户专用定制数据。举个例子,用户可以 规定一张形成设备的壁纸并且始终在默认设置上可用的照片。此外,其 他实施例设想了出于特定目的而希望定制设备的零售商和经销商。举个 例子,特定厂商可能希望利用名人或历史事件的图像来定制小的选定范 围中的设备,从而计算设备具有特定的标识、振铃音或声音、壁纸或应 用。在每一个前述实例中,工具700都可以供个人用户或者零售商或经 销商使用。
该实施过程可以包括编程组件,以便允许将定制丰俞入变成可以^皮加 载和存储在永久存储器中的定制数据。在一个实施例中,工具700可以 由商业上可得到的工具来提供,例如EPHOX CORPORATION制造的 EDIT LIVE! FOR XML,借助该工具,个人可以创建XML文件和lt据映 射,这些XML文件和数据映射变成存储在设备上的定制数据。 一旦产
生了定制数据,那么该定制数据就可以采用文件的形式来提供,其中该
文件可以^皮"闪现"或下载到ROM中。虽然这些实施例i殳想了在制造 时进行这种定制,但是这里描述的实施例也允许该定制在从制造到销 售、使用以及重新销售之中的几乎任何时间进行。举个例子,零售商或 用户可以使用一个程序来将选择的定制数据上载到ROM中。在PALM OS中,可以创建一个PRC文件以^使将定制数据写入ROM。 硬件图
图8说明供本发明的一个或多个实施例使用的简化框图。计算设备 800可以包括一个或多个处理器810、永久存储器(例如NAND闪速存 储器组件)820、 一个或多个RAM存储器830、显示器840 (包括软件 和硬件驱动器)、扬声器或其他音频输出850、以及众多其他驱动器。 图8所说明的框图可以表示多种类型的设备,其中包括蜂窝电话设备、 无线消息传送设备或者组合的电话/消息传送设备。计算设备800可以与 本申请中描述的一个或多个实施例或者实施例的组合来结合使用。根据 一个实施例,当使用RAM 830执行应用时,处理器810可以/人7Jc久存 储器820中读取定制数据。这些应用的执行可以调用定制数据,以便加 以使用。另外,定制数据还可以用来创建在显示器840上的定制壁纸和 其他图像、来自音频输出设备850的音频输出(例如声音信号和/或振铃 音)。定制数据还可以驱动或配置从这种驱动器运行的其他设备860或 其他组件的应用。就目前而言,上述的本发明实施例至少部分地可使用 受软件控制的可编程处理设备来实施,例如通用处理器或专用处理器、 数字信号处理器、微处理器、或者其他处理设备、数据处理装置或计算 机系统。将会认识到,用于配置可编程设备、装置或系统来实施前述方 法、装置和系统的计算机程序也被认为是本发明的一个方面。该计算机 程序可以作为任何合适类型的代码来实现,例如源代码、目标代码、编 译代码、解释代码、可执行代码、静态代码、动态代码等等。指令可以 使用任何一种合适的高级的、低级的、面向对象的、可视的、编译和/ 或解释编程语言来实施,例如C、 C++、 Java、 BASIC、 Perl、 Matlab、 Pascal、 Visual BASIC、 JAVA、 ActiveX、汇编语言、机器码等等。技术 人员将容易理解,术语"计算机,,的最广泛意义包含了上文中提及的可 编程设备以及数据处理装置和计算机系统。
适当的是,将计算机程序以机器可读的形式存储在载体介质上,举
例来说,该载体介质可以包括存储器、可移动或不可移动介质、可擦写 或不可擦写介质、可写入或可重写介质、数字或^t拟介质、硬盘、软盘、
光盘只读存储器(CD-ROM)、可记录光盘(CD-R)、可重写光盘 (CD-RW)、光盘、磁介质、磁光介质、可移动存储卡或盘、各种类型 的数字通用盘(DVD)、用户身份模块、磁带、盒式固态存储器。计算 机程序可以从通信介质中所包含的远程源来提供,该通信介质例如是电 子信号、射频载波或光载波。这种载波介质也被认为是本发明的若干方 面。
虽然在这里参考附图对本发明的说明性实施例进行了详细描述,但 是应该理解,本发明并不限于这些确切的实施例。同样,对本领域技术 人员来说,许多修改和变化将是显而易见的。因此,本发明的范围打算 由后面的权利要求书及其等同物来限定。此外还可以设想到,对在这里 单独描述或者作为实施例一部分描述的特定特征来说,即使其他特征和 实施例没有提到该特定特征,它也还是可以与其他单独描述的特征或其 他实施例的部分相结合的。因此,即使没有描述这种组合,也不应该阻 止发明人要求对这种组合的权利。
权利要求
1.一种用于配置永久存储器的存储器配置模块,该模块可操作用来描绘永久存储器中用于存储操作系统的第一区域,其中该第一区域与该存储器中用于存储定制数据的第二区域相分离,从而可从该第二区域中检索该定制数据而不用从该第一区域中检索数据;以及基于该定制数据的大小来保留该第二区域中用于存储该定制数据的位置。
2. 根据权利要求1所述的模块,还可操作用来响应于所述模块 为其工作的计算设备从硬复位状态的初始化,格式化该第二区域中不包 含定制数据的至少一部分。
3. 根据权利要求1或2所述的模块,其中对所述模块为其工作的 计算设备来说,该定制数据是特定于类别的。
4. 根据权利要求1或2所述的模块,其中对所述模块为其工作的 计算设备来说,该定制数据是特定于用户的。
5. 根据权利要求1或2所述的模块,其中该定制数据包括与应用 或图像中的至少 一个相对应的二进制数据。
6. 根据权利要求1或2所述的模块,其中该定制数据包括供应用 使用的应用数据,该应用是当所述模块为其工作的计算设备处于工作状 态时执行的。
7. 根据权利要求1或2所述的模块,其中该定制数据包括与应用、 应用数据、图像或音频文件中的一个或多个相对应的数据集。
8. 根据任何一项在前权利要求所述的模块,其中第二逻辑包括与 存储在所述永久存储器中的操作系统存储在一起的令牌。
9. 根据权利要求8所述的模块,其中该令牌识别用于指示该定制 数据的大小的值。
10. 根据任何一项在前权利要求所述的模块,其中第一逻辑或第二 逻辑中的至少一个被存储在该永久存储器中。
11. 根据权利要求8或9所述的模块,其中所述第二逻辑可操作用 来格式化第二存储器的段,该段不包含提供该定制数据的部分,其中该 段的大小至少部分地根据所存储的用于指示该定制数据的大小的值来 确定。
12. —种用于计算设备的组件,该组件包括永久存储器,其被配置成存储在硬复位状态中与操作系统相对应的 数据以及定制数据;以及根据任何一项在前权利要求所述的存储器配置模块。
13. 根据权利要求12所述的组件,其中该永久存储器是闪速存储器。
14. 根据权利要求12所述的组件,其中该永久存储器是NAND闪速存储器。
15. 权利要求11-14中任何一项所述的组件,其中响应于包含该 存储器组件的计算设备从硬复位状态进行初始化,第二区域中不包含该 定制数据的至少 一部分能够通过使用第二逻辑而被格式化。
16. —种计算设备,包括根据权利要求11-15中任何一项所述的组件,并且其中所述永久 存储器保持与下列各项相对应的数据(i)处于永久存储器的所述第一 区域中的操作系统,以及(ii)处于永久存储器的所述第二区域中的定 制数据,其中该第二区域不与该第一区域相重叠,其中在硬复位状态中, 除了定制数据之外,第二区域实质上未被格式化;所述第一逻辑定义了该第一区域和该第二区域;以及至少指示该定制数据的大小的所述值与该操作系统 一起被存储。
17. 权利要求16所述的计算设备,其中该定制数据是在永久存储 器的逻辑结尾被提供的,从而所存储的值识别了定制数据在永久存储器 中的位置。
18. 权利要求16或17所述的计算设备,还包括 第二存储器,其被配置成在计算设备处于工作状态时保持数据; 第三逻辑,当将计算设备从硬复位状态置于工作状态时,该逻辑将至少对应于操作系统的数据从第 一存储器转移到第二存储器。
19. 权利要求18所述的计算设备,其中永久存储器被配置成提供 用于在计算设备处于工作状态时备份与第二存储器一起使用的数据的 存储装置。
20. 权利要求18或19所述的计算设备,其中第二存储器被配置成 在计算设备经受复位事件时进行擦除。
21. —种用于定制计算设备的方法,该方法包括 将操作系统存储在计算设备的永久存储器的第 一 区域中; 独立于该存储器的第 一 区域,将定制数据存储在该存储器的第二区 域中;从硬复位状态初始化计算设备时,格式化第二区域中不包含定制数 据的部分,以便供处于工作状态的计算设备使用;以及 其中第二区域中被格式化的部分基于定制数据的大小。
22. 权利要求21所述的方法,其中格式化笫二区域中不包含定制 数据的部分包括通过确定第二区域的全部减去第二区域中提供定制数 据的部分来确定第二区域的该部分的大小。
23. 权利要求21或22所述的方法,还包括将对应于定制数据的大小的值与操作系统存储在一起;以及 其中格式化第二区域中不包含定制数据的部分包括使用与操作系 统存储在一起的值来识别第二区域中包含定制数据的部分。
24. 权利要求23所述的方法,其中格式化第二区域中不包含定制 数据的部分包括在第二区域的逻辑结尾提供定制数据,以及使用与操 作系统存储在一起的值来确定第二区域中不包含定制数据的部分的大 小。
25. —种用于定制计算设备的方法,该方法包括在从硬复位状态中初始化计算设备时,确定计算设备的永久存储器 中将要格式化的部分的大小,其中该大小基于存储在包含了将要格式化 的部分的永久存储器的区域中的定制数据量,并且其中永久存储器的该 区域独立于存储操作系统的另 一个永久存储器区域;以及在不影响定制数据的情况下格式化第二存储器的该部分。
26. 权利要求24所述的方法,还包括在存储操作系统的永久存 储器区域中存储基于定制数据的大小的值,并且其中确定永久存储器的 部分的大小包括使用存储在永久存储器区域中的值来确定该部分的大 小。
全文摘要
在计算设备中,定制数据独立于设备的操作系统被永久地保持。定制数据可以与操作系统一起被存储在计算设备的永久存储器(或者ROM或等效的存储器组件)中,但是独立于操作系统。当首次初始化计算设备或者当在硬复位事件之后立即初始化计算设备时,定制数据不会丢失。
文档编号G06F9/445GK101371227SQ200680049511
公开日2009年2月18日 申请日期2006年12月12日 优先权日2005年12月12日
发明者D·W·弗兰克, E·桑伯恩阿西斯, M·伊斯特伍德, R·兰加 申请人:棕榈公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1